スクリプトを実行する前にスクリプト行をエコーし​​ます。

スクリプトを実行する前にスクリプト行をエコーし​​ます。

bashスクリプトの各行が実行される前に印刷されるようにスクリプトを実行する方法はありますか?これはデバッグに非常に便利です...

$./myscript.sh
echo "Hello"
Hello

私のスクリプトがどれだけ進行したのか、何をしているのかを正確に確認できます。

ベストアンサー1

setコマンドとオプションを使用して、この機能を有効/無効にできます-x/+x

- X- 各単純コマンド、コマンドの場合は、大文字と小文字のコマンド、選択コマンド、またはコマンドの算術演算を展開し、PS4用に拡張値を表示し、コマンドとその拡張パラメータまたは関連する単語のリストを表示します。

-x有効にして+x無効にします。

はい

サンプルスクリプト
$ cat ~/myscript.sh 
#!/bin/bash

set -x
echo "Hello"
サンプル出力
$ ~/myscript.sh 
+ echo Hello
Hello

おすすめ記事