cshで何か基本的なことをするのに問題があります。Cshが文字列を配列に追加する、空白の問題
set newCmd = "$expansionCmd –option1 –option2 …"
そして私は、私は、後に実行したい、これらの文字列の配列を作成しています:
set expansionCmdList = ($expansionCmdList[*] "$newCmd")
#I also tried without quotes, e.g. just $newCmd
最後に、私は、反復処理し、これらのコマンドを実行してみてください:
私は、文字列を持っていますforeach exCmd ($expansionCmdList)
`exCmd` #execute it in the shell
end
しかし、問題は、配列エントリが完全な文字列ではなく、空白で区切られた文字列のすべての部分、つまり最初のエントリがちょうど "$ expansionCmd"であることです。次のエントリはb e "-options1"など。
私の会社のコードベースは、あらかじめCシェルを使用してお詫びしています。
感謝の男...私はCシェル上で見つけることができる唯一のドキュメントがある誓います人々はCシェルを使用しないと言っています。 – JDS
さて、cshをスクリプティングに使用しない唯一の重要な理由は、cshは非常に優れたスクリプト言語ではないということです。何らかのサブプログラム機能を持たせるためにエイリアスをノットに変えなければならないという事実のためです。しかし、それがあなたが持っているものなら、それはあなたが持っているものです。そして、POSIXシェルの前に配列と組み込み算術がずっと前にありました。 :) –
'$ {array}:q 'を使うことはできません。' $ arr:q'でなければなりません。もちろん@SeanAllred –