4

@ezod hereのおかげで、ファイルとファイルパス内のキーフレーズを見つけるための甘いbashコマンドがあります。bashrcで関数に変換しようとしていますが、同じ結果が生成されません。エスケープするか、別の方法を使用する必要があるのは、連続した中括弧に関連していると思いますか?

作品:

{ find . -name '*keyword*'; grep -irl 'keyword' .; } | sort -u

bashrcでは機能しません:

function findit() {
  { find . -name '*$1*';
    grep -irl '$1' .;
  } | sort -u
}
export -f findit

$ findit keyword
4

1 に答える 1

5

Bashは、変数を一重引用符で置き換えません。これを試して:

function findit() {  
  { find . -name "*$1*";  
    grep -irl "$1" .;  
  } | sort -u  
}  
export -f findit  
于 2012-10-12T20:00:25.473 に答える