「ソース」を使ってスクリプトを実行する戦略を忘れましたか?

「ソース」を使ってスクリプトを実行する戦略を忘れましたか?

対話型bashシェルの状態にアクセスするスクリプトを作成したいと思います。たとえば、スクリプトには、jobsなどdirspushdコマンドが含まれていますpopd。だから私の戦略は、sourceスクリプトを実行するときにスクリプトをシェルに入れることです。しかし、私はsourceこれをどれだけ早く悟るかに応じて、しばしばこれを忘れてしまい、しばらく混乱します。はい、私は直接スクリプトを書いた。

私のような物忘れの激しい人々のためのベストプラクティスはありますか?たとえば、次のいずれかの良いアイデアがありますか?

  1. sourceたとえば、どのような方法でスクリプト自体を変更して、入力なしでスクリプトを実行することができますか?
  2. スクリプト自体でsourceこれを思い出させるにはどうすればよいですか?例えば、

    • プレフィックスを使用してSource_Meスクリプトファイルの名前を変更しますか?
    • sourceそれともスクリプトが呼び出されたかどうかを検出し、そうでない場合はエラーメッセージを出力するためにスクリプト内に使用されるいくつかのコマンドがありますか?
  3. それとも、どのスクリプトがこれを必要とするのかを覚えておく必要がありますかsource

    ありがとうございます。

ベストアンサー1

それを得ると、実行ビットは必要ありません。

スクリプトを実行可能にしないでください。その後、(取得せずに)実行しようとすると実行(Permission denied)されないため、効果はありません。 PATH環境にある場合、完成可能シェル(bash ...)はタブを使用して自動補完を試みません。

.profileこれで、次のエイリアスを追加できます.bashrc

alias myscript='. /path/to/myscript'

したがって、これから入力すると、myscriptその内容を取得して期待どおりに実行します。シェルは別名を自動補完します。

おすすめ記事