私は解決しなければならないと思う問題にぶつかってきましたが、私の人生にとってはわかりません。本当に遅れているかもしれません。わからない。BASH:if文がコマンドと関数を実行する
私はシェルスクリプトを持っており、実行する必要があるif文があります。問題は、私が実際にif文の中でこのfindコマンドの一部を構築するために使用しているこのbashスクリプトの中に関数があることです。 [: too many arguments
のエラーを受け取らずに、私がどのようにして両方を行うことができるかを知りたい。
ここでは、現在のコードです:
if [ -n `find ./ `build_ext_names`` ];then
私は本当に投稿するために必要なすべてのです。
function whateverItIsYouAreTryingToDo() {
local ext_names=$(build_ext_names)
local find_result=$(find ./ $ext_names)
if [ -n "$find_result" ] ; then
# Contents of if...
fi
}
build_ext_namesの出力は何ですか? –
'(-name filename.ext -o -name filename.otherext)'コードを出力します。基本的には、あなたが "許可"したい任意の拡張を入れることができる変数があります。そして、この関数は配列からこれを読み込み、それに必要なコードを構築します。これは、単一および複数のオプションを処理します。すごいかっこいい。 – drewrockshard