2016-04-03 1 views
0

未開封のファイルをディレクトリからサブディレクトリに移動する行は、Syntax error: "(" unexpectedというエラーが発生しています。コマンドラインからの構文エラーなしで実行されますが、bashファイル内で実行すると、この構文エラーが奇妙に発生します。shファイルではなくコマンドラインではない行の構文エラーが発生しました

comm -2 -3 <(find $DIR -maxdepth 1 -type f|sort) <(sudo lsof $DIR/* | awk '(NR>1) {print $9}'|sort) | xargs -I {} mv {} $DIR/tmp 

ありがとうございます。

+1

あなたの '/ binに/ sh'はおそらくbashのではない:シェバングの追加
は私のスクリプトの作業を行います。 bashismを使うつもりなら、シバンの行に '/ bin/bash'を使います。 – ninjalj

+0

デバッグを表示するためにbashに 'set -x'を使用してください。また、コマンドをシェル変数に分割して代わりに使用します。最初は一本のラインですべてが窮屈で、見つけにくいです。 – t0mm13b

+0

簡単な例を試してみてください。私は 'cat <(echo file)'と同じです。 –

答えて

0

コマンドがbashによって解釈されていることを確認してください。

私は(簡略化した)スクリプトcat <(echo file)で同じ問題を抱えていました。 シバン行が見つからないか認識されない場合、/ bin/shが使用されます。
私のシステムでは/bin/shはbashへのリンクではなく、コマンドは失敗します。

#!/bin/bash 
cat <(echo file) 
関連する問題