を使用して、私のPATH環境変数から特定の変数を削除することができますがUSR/binと、次のPATHどのように私は入力変数を考えると、魚のシェル
echo $PATH
/usr/local/bin /usr/bin /bin /usr/sbin /sbin /usr/local/sbin /Developer/bin
は、どのように私は(魚のシェルに)与えられた関数を書くことができると言います文字列/入力はPATH変数からそのパスを削除できますか?私はでこれを書くために良いだろうな
deleteFromPath usr/bin
として小さな関数を書いて検討していた(例えば、変数のすべての出現箇所を削除1対)最初の発生を削除します>理想的には1
- 魚のシェルではなくPerl/python/rubyのようなスクリプト言語?
POSIXシェルではなく、perl/python/rubyにジャンプする理由はありますか? –
'IFS =:read -r -a path_entries <<<" $ PATH "; "$ {!path_entries [@]}"のidxのために; argのためにする; do [[$ {path_entries [$ idx]} = "$ arg"]] && unset path_entries [$ idx];完了しました。完了しました。 printf -v PATH '%s:' "$ {path_entries [@]}"; PATH = $ {PATH% ':'} 'は、正しさを慎重にしているbashの実装にかなり邪魔なものです。魚は実際にスクリプトのために作られていません。これは非常に対話的なシェルです。 –
@CharlesDuffy: 'fish'は' POSIX'部分文字列除去技術をサポートしていませんか? – Inian