2

ubuntu で次のコマンドを実行しています。

taskset -c 1 ./forLoop

次のエラーが表示されます。

./forLoop: 1: Syntax error: Bad for loop variable

forLoop にあるのは次のとおりです。

for ((  i = 0 ;  i <= 1000000;  i++  ))
do
  echo "Welcome $i times"
done

単独で実行するだけ./forLoopですが、プロセスを特定のアフィニティに関連付けたいと考えています。できますか?

4

1 に答える 1

4

これは、Ubuntu を使用していて、 と呼ばれるインタープリターdashbash.

簡単に、これを入力して確認します。

dash ./forLoop    

同じ「for ループ」エラーが表示されるはずです。

この問題を解決するいくつかの方法:

  • `bash` の使用を強制: `taskset -c 1 bash ./foo.sh`
  • スクリプトの最初の行として「#!/bin/bash」を記述します。
  • 以下のリンクで説明されているように、ループ コードをダッシュ​​互換になるように変更します。

詳細はこちら: https://wiki.ubuntu.com/DashAsBinSh/

于 2012-07-15T07:37:21.243 に答える