-1

コマンドを使用して、サーバーへの多くのジョブの送信を自動化しようとしていますqsub。を使用して、いくつかの入力ファイルに基づいて複数のバッチ スクリプトを作成するシェル スクリプトを作成しprintfました。問題は、これらのジョブが実行されないことです。gedit を使用してシェル スクリプトから作成したこれらのバッチ スクリプトを開き、変更せずに保存すると、機能します。これは、ある種のフォーマットの問題だと思います。

この問題の解決策を教えてください。

送信するスクリプトを作成するシェル スクリプトは次のとおりです。


#!/bin/sh
cd /home/PATH/

FILES=$(ls inpt/ | grep "centers")
i=1
declare -i i
for f in $FILES
do
    printf "#!/bin/bash\ncd /home/PATH/\n./nvt inpt/%b" "$f" > run-script$i.sh
    i=$i+1
done

4

1 に答える 1

1

実行可能ビットをスクリプトに設定する必要があります。

printf "#!/bin/bash\ncd /home/PATH/\n./nvt inpt/%b" "$f" > run-script$i.sh
chmod +x run-script$i.sh

フォームの問題 (または の問題printf) ではないことを確認するには、次を使用してみてくださいecho

echo '#!/bin/bash' > run-script$i.sh
echo cd /home/PATH/ >> run-script$i.sh
echo ./nvt "inpt/$f" >> run-script$i.sh
于 2012-06-26T07:34:40.313 に答える