0

シェルスクリプトで実行されているコマンドをエコーアウトすることは可能ですか?

(デバッグモードをオンにするために-Xをシバンに入れずに。これはデバッグプロセスの一部ではありません)

ありがとう

[編集:詳細]

次のようなスクリプトがあるとします。

#! /bin/sh

clear
cd ~/home/

cd実行される(およびclear)2つのコマンドをコンソールに出力するにはどうすればよいですか?

4

2 に答える 2

1

私のバージョンの(Debian Almquist Shell、ダッシュ)では、この動作を実現する/bin/sh以外に方法はありません。-xエコーコマンドもの唯一の効果な-xので、使用しない理由はありません。

于 2012-05-24T19:27:22.720 に答える
0
echo $0

これにより、コマンドラインの最初の単語がエコーされます。「./bin/test」などの相対パスを指定した場合は、パス全体が表示されるため、次のようにすることができます。

echo $(basename $0)

「./bin/test」ではなく、「test」をエコーし​​ます。

プログラムの名前を変更したり、シンボリックリンクから呼び出すことができるため、スクリプトが名前をハードコーディングするのではなく、エラーメッセージで$0を使用することは非常に一般的です。

于 2012-05-23T21:09:25.297 に答える