[解決済み] シェルコマンドを実行しながらエコーする方法
2022-03-18 02:03:03
質問
シェルスクリプトで、呼び出されたすべてのシェルコマンドをエコーし、任意の変数名を展開するにはどうすればよいですか?
例えば、次のような行があったとします。
ls $DIRNAME
スクリプトでコマンドを実行し、次のように表示させたいと思います。
ls /full/path/to/some/dir
目的は、呼び出されたすべてのシェルコマンドとその引数のログを保存することです。そのようなログを生成するためのより良い方法はあるでしょうか?
どのように解決するのですか?
set -x
または
set -o xtrace
は変数を展開し、行の前に小さな+記号を表示します。
set -v
または
set -o verbose
は、印刷前に変数を展開しない。
使用方法
set +x
と
set +v
をクリックすると、上記の設定をオフにすることができます。
スクリプトの最初の行に
#!/bin/sh -x
(または
-v
と同じ効果が得られます。
set -x
(または
-v
) をスクリプトの後半で使用します。
また、上記は
/bin/sh
.
については、bash-hackers の wiki を参照してください。
set
属性
で、そして
デバッギング
.
$ cat shl
#!/bin/bash
DIR=/tmp/so
ls $DIR
$ bash -x shl
+ DIR=/tmp/so
+ ls /tmp/so
$
関連
-
[解決済み】ログアウトと再ログインをせずに.bashrcの設定を再読み込みする方法?
-
[解決済み] "[0: コマンドが見つかりません]" in Bash [重複].
-
[解決済み] ターミナルでbashスクリプトを実行するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] LinuxのシェルスクリプトでYes/No/Cancelの入力を促すにはどうしたらいいですか?
-
[解決済み] Git上でシェルコマンドを実行する際に使用するSSH-keyの秘密鍵を指定する方法は?
-
[解決済み] シェルスクリプトでブール変数を宣言して使用するにはどうすればよいですか?
-
[解決済み] Rubyからシェルコマンドを呼び出す方法
-
[解決済み] 特定のファイル/フォルダを除外してディレクトリをtarするシェルコマンド
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】bashでjsonファイルを解析するために、jqの出力にあるダブルクオートを削除する方法は?
-
[解決済み] etc/profileでVISIBLE=NOWを設定するのはなぜですか?
-
[解決済み] systemd サービス 203/EXEC の失敗 (そのようなファイルやディレクトリがない) を修正する。
-
[解決済み] Bashスクリプトで引数を反復処理する方法
-
[解決済み] スクリプトからのエラーメッセージを含むすべての端末出力をログファイルにパイプする方法
-
[解決済み] nohupプロセスを終了させる方法を教えてください。
-
[解決済み] 絶対パスと論理パスの違い
-
[解決済み] ファイル内の大文字・小文字を区別しない文字列を grep するには?
-
[解決済み] MINGW64 "make build" エラー。"bash: make: コマンドが見つかりません"
-
[解決済み】実行前に各コマンドを印刷するにはどうすればいいですか?重複