ソースコードを変更せずにダッシュスクリプトを追跡できますか?

ソースコードを変更せずにダッシュスクリプトを追跡できますか?

set -xソースコードを変更せずに(例えば、shebangの変更や先頭に挿入するなど)、デバッグ目的でシェルスクリプトを追跡したいと思います。これはdpkg postinstスクリプトなので、実際にはシェルから直接呼び出すことはありません。

これに関する環境変数を見つけるためにマニュアルページを検索しましたが、dash何も見つかりませんでした。

これを行う方法はありますか?

ベストアンサー1

スーパーユーザーアクセス権があるため/bin/sh

まずラッパーを作成します。ホームディレクトリにmysh次のコンテンツで名前が付けられたファイルを作成します。

#!/bin/dash
exec /bin/dash -x "$@"

実行可能にしてください。

$ chmod +x ~/mysh

その後、変更してください/bin/sh。まず、それが指す場所に注意してください。

$ ls -l /bin/sh
lrwxrwxrwx 1 root root 9 Jan 12 17:42 /bin/sh -> /bin/dash

その後、免責事項に変更します。 (警告:システムが機能しない場合は数マイクロ秒かかります/bin/sh。)

$ sudo ln -sf ~/mysh /bin/sh

仕事が終わったら、もう一度やり直してください。

$ sudo ln -sf /bin/dash /bin/sh

頑張ってください!

おすすめ記事