
Bashからスクリプトをインポートすると、スクリプト自体にアクセスせずにインポートしたばかりのスクリプトを表示できますか?
答え1
スクリプトがあればsource
読むことができます。何がcat /path/to/script
表示されますかscript
?
答え2
シェルトレース()を有効にしset -x
て、どのステートメントが実行されたかを確認できます。源泉スクリプト。
@jthillのコメントは、verboseオプション(set -v
)も役に立つと指摘しています。 ~から参考書:
-v
読み取ったようにシェル入力行を印刷します。
-x
コマンド、大/小文字コマンド、選択コマンド、および算術コマンドを含む単純なコマンドのトレース、およびその引数または拡張後および実行前に関連する単語のリストを印刷します。変数の値PS4
が拡張され、結果の値がコマンドと拡張引数の前に印刷されます。
それはあなたが望むものに依存します。似たようなverbose
パターンが役に立ったと思ったことはありませんが、csh
誰かが実装するのに十分に役立つと思いました。そこ最初。
答え3
私はこれが不可能だと思った。最良の方法は次のとおりです。
set
すべての設定変数と定義されたすべての関数が表示されます。ソーススクリプトが関数セットの場合はリファクタリングできますが、どの関数が呼び出されたのか、どの関数が呼び出されなかったのかは不明です。少なくとも、set
特定のセッションに設定されたすべての変数とその値を提供します。