GNU/Linux >> Linux の 問題 >  >> Ubuntu

ゼロステータス(/ bin / trueではない)で終了するコマンド?

少し時間がかかるツールを実行するMakefileがあります。使用したコマンドを置き換えることができます:

make TOOL=alternative-tool

Makefileでそのステップをスキップしたいので、ステータス0で終了し、副作用が無視できるコマンドを探しています。

明らかに、私はtrueを使用することができます 、しかしそれはちょっと紛らわしいです:

make TOOL=true

それは私が欲しいかのように読みます ツールを実行しますが、実行しません。

/bin/trueではないデフォルトでインストールされた実行可能ファイルはありますか ステータス0で終了し、キャッチーで入力しやすい名前が付いていますか?

承認された回答:

/bin/trueではないものを要求したとしても 「、trueを置き換えます フルネーム/bin/true それがtrueであることを示すため 「真」という他の意味ではなく、プログラムがおそらく最善の解決策です。

あなたの懸念は、true

make TOOL=true

コマンド名以外のようです。しかし、あなたが書くなら

make TOOL=/bin/true

それならそれは明白にコマンドです。誰かがTOOL=trueを読み間違える可能性があります つまり、どこか他のツールが意図されているが、TOOL=/bin/trueのそのような誤読はないということです。 可能性が高いです。

:がいつになるかわかりません シェルビルトインですが、外部コマンドではありませんが、機能します。 Henning Makholmは、それが機能しているように見えると報告しました。しかし、すべての状況で機能するとは限らないと思います。あなたはそれがあなたのために機能しなかったことに気づきました。

シェルエイリアスに関しては、コマンドに渡す引数でエイリアス展開が実行されないため、これを使用することはできません。また、makefilesは以前に定義されたシェルエイリアスを使用しません。 makeであっても 新しいシェルでコマンドを実行すると、そのシェルにはエイリアスがありません(エイリアス拡張が自​​動的に有効にならない非対話型シェルになるため、エイリアスがあったとしても使用されません)。


Ubuntu
  1. / bin/shが/bin/bashではなく/bin/ dashを指すのはなぜですか?

  2. $ home / .local / binはUbuntu19.04のパスにありませんか?

  3. ターミナルUbuntu14.04でのプロキシ認証?

  1. find -exec mv {} ./target/ + が機能しないのはなぜですか?

  2. バイナリを /bin、/sbin、/usr/bin、および /usr/sbin にインストールし、 --prefix および DESTDIR と対話します

  3. #!/bin/bash と #!/bin/sh はいつ使用する必要がありますか?

  1. /bin と /usr/bin の違い

  2. /bin の内容を /usr/bin に移動しました。元に戻すことはできますか?

  3. #!/bin/sh vs #!/bin/bash 移植性を最大限に高める