拡張変数を含む文字列を私の最後に追加するために、次のBash関数を実行しましたbashrc
。
alias() {
echo "alias $repo=\"$HOME\"/$repo/$repo.sh" >> "$HOME"/.bashrc
source "$HOME"/.bashrc 2>/dev/null
}
alias
実行するには、コピーしてBashターミナルに貼り付け(一度表示)、クリックして実行しましたEnter。
私が得た結果~/.bashrc
はおおよそ布上記の文字列の行:
エイリアス $repo=\"$HOME\"/$repo/$repo.sh
最後のコマンド(source /home/user/.bashrc
)は無限に実行され続けたので(関数への無限の呼び出しのために仮定)、^C
キーの組み合わせを使用してすぐに中断しました。
Nanoと切り取りを使って何千もの文字列の重複をすべて削除した後、mark-set
なぜこれが起こり続けるのか尋ねたいと思います。
答え1
という関数を定義し、alias
呼び出しに1行を追加してから、シェル(関数がすでに定義されている場所)にソースコードを入力します。別の行を追加する関数を呼び出し、関数を再度呼び出すスクリプトを再インポートします。.bashrc
alias ...
.bashrc
alias
すでに毎回一度実行されています、指数関数的な成長につながります。
関数名を変更します。