私が働くbashのブレース機能変数と一緒に使用するとbashブレース機能が失敗しますか?
ls *{10..20}.txt
を、使用しようとしました
私はの.txtパターン* {} num1..num2と、現在のディレクトリ内のファイルを一覧表示するのbashを使用しようとしています。しかし、変数num1とnum2を最初に設定してから、
num1=10
num2=20
ls a{${num1}..${num2}}.txt
を実際には使用できません。私はbash -x
を使ってデバッグしましたが、bashが自動的に一重引用符を文字列a{${num1}..${num2}}.txt
に追加することが判明しました。これは非常に奇妙です。
解決方法はありますか?
ありがとうございました。
を評価する必要があります。 'eval'の使用は本当に必要ではありません(避けられればいいアイデアです)。すべての引数を指定して1つのコマンドを実行する必要がある場合は、ループ内のエントリを配列に累積することができます。 –
次のループを意味しますか? 'all =; {10..20}の私のために。 do all = "$ all $(ls * $ i.nc)";完了しました。 echo $ all' – xin
ループはさまざまな理由で間違っています.'all =(); {10..20}の私のために。すべての+ =(* "$ i.nc");完了しました。 echo "$ {all [@]}" ' – chepner