次のように使用してくださいcurl
。
bash <(curl -s https://raw.githubusercontent.com/user/repo/master/script.sh | tr -d '\r')
いくつかのリモートスクリプトを実行しました。
リモートスクリプトには2つの側面があります。
1)注文する:
wget -P ~/myAddons/ https://raw.githubusercontent.com/user/repo/master/appendix.sh
2)1つのsource ~/myAddons/appendix.sh
コマンド:
このファイルにはappendix.sh
いくつかの Bash エイリアスが含まれています。
質問
リモートスクリプトを実行した後appendix.sh
。
エイリアスは手動で実行した後にのみ機能しますsource ~/myAddons/appendix.sh
。
source
リモートスクリプトの命令と手動命令が同じであることを3回以上確認しました。
質問
リモートスクリプトから直接実行するとsource ~/myAddons/appendix.sh
失敗しますが、手動で実行すると機能するのはなぜですか。この問題を解決する正しい方法は何ですか?
答え1
新しいシェルを起動し、bash <(...)
その中で購入します。これは実行中の元のシェルには影響しませんbash <(...)
。代わりにsource
プロセス置換を使用する必要があります。
source <(...)
# or
. <(...)