次の2つの属性を使用してスクリプトを実行したいと思います。
- スクリプトの内容はすべて、bashrcを取得できなかったかのように実行されます。
- スクリプトの完了後も保持されるバインディングを設定できます。
たとえば、私の.bashrcが次のような場合
alias rm="echo don't use me"
次のスクリプトを実行できるようにしたいです。
rm.me
削除済み- その後、実行すると
fn
エコーが発生します。i am bound
rm rm.me
fn() { echo i am bound; }
を実行するとbash my-script.sh
バインドさfn
れず
、実行すると. my-script.sh
私のrm
エイリアスを使用します。
ベストアンサー1
スクリプトをインポートすると、いつでもエイリアス拡張を無効にできます。
shopt -u expand_aliases; . ./myscript.bash; shopt -s expand_aliases
(myscript.bash
設定した変数、関数、umask、制限、トラップ、リダイレクト、オプションなどは引き続き継承されます~/.bashrc
。)