無効なコマンド

無効なコマンド

この例があります

cp `which mv` rename

私の課題のガイダンスは、コマンドが仕様に従わず、コマンドをまったく同じ操作を実行する別の例に置き換えることです。

私の質問は、コマンドが仕様に従わないということを意味しますか?

答え1

この「標準」が何を意味するのかわかりませんが、コマンド自体が少し奇妙です。 /bin/mvを「名前変更」にコピーするのはなぜですか?同じ操作を実行するコマンドは次のとおりです。

cp /bin/mv rename

あなたが知らない場合。 ` 内部のすべてが拡張されます。

`which mv`

生成します(一部のシステムでは出力が異なる場合があります)。

/bin/mv

つまり。 `内のすべてが最初に呼び出され、次に結果が最終コマンドに置き換えられます。

たとえば、必要なコマンドにすることができます。日付とタッチコマンドに精通しているようです。現在のタイムスタンプと同じ名前のファイルを生成するとします。現在のタイムスタンプを取得するコマンドは日付+%sです。この例を見てください。

touch `date +%s`

同じですが、内部コマンドは異なります。最初に "date +%s" を呼び出すと、結果は 1460885688 になります (あなたの結果は異なる場合があります)。以降呼び出されるコマンドは次のとおりです。

touch 1460885688

答え2

コマンドmvは現在PATH

私は以下をお勧めします:

f=$(which mv) && cp $f rename

関連情報