2
ここでこの1つのライナーをbash関数にする方法はありますか?bash関数内のパイプを使用する
mdfind -name autoflush.py | grep -Ev 'Library|VMWare|symf|larav' | sort
私はこのようにそれを実行しようとしました:
function mdf() { mdfind -name "$1" | grep -Ev 'Library|VMWare|symf|larav' | sort }
それで成功を持っていませんでした。
パイプ演算子をbashの関数内で使用できませんか?私は私のアプローチの多くの概念のエラーがある推測してい
function mdf() {
result=mdfind -name "$1"
grepped_result=grep -Ev 'Library|VMWare|symf|larav' $result
sort $grepped_result # return sort $grepped_result ?
}
:
私の次のアプローチはこれでした。だから私は助けと入力を感謝します。
2つ目の試みには3つの問題があります。コマンドの出力を変数に割り当てるときは、出力をキャプチャするために '$()'を使う必要があります。たとえば、 'result = $(mdfind -name" $ 1 ")'となります。第2に、 'grep'と' sort'はデータではなく引数としてfile * names *を取ります。 'echo'を使い、その出力をコマンドに渡す必要があります。第3に、単語分割とワイルドカード展開を防ぐために、ほとんどの場合変数参照を二重引用符で囲む必要があります(例えば 'echo $ result'ではなく' echo "$ result")。 –