大学のSungridコンピューティングクラスタにbashスクリプトを送信して、実行可能ファイルをループで実行します。qsubはshebangにもかかわらずcshでmy bashスクリプトを実行しています
$ echo $SHELL
/bin/bash
そして私は、私はqsubのに渡すスクリプトの先頭に、bashのシェバング、次のとおりです:私は、サーバーにログインすると、私はbashでよ
$ cat shell_sub
#!/bin/bash
#$ -N bSS_s13
#$ -o logs/bSS_s13.log
#$ -j y
#$ -cwd
echo $SHELL > shell.txt
しかし、私は提出したときに上記のスクリプト:
qsub shell_sub
それは代わりにCSHで実行されます。
$ cat shell.txt
/bin/csh
qshにcshの代わりにbashを強制的に実行させるにはどうすればいいですか?
クラスタにはどのようなシェルタイプがありますか? (echo $ SHELL) –
@Finch_Powersそれは 'csh'と言う...私の投稿全体はXYの問題です。私は実際の問題に焦点を合わせて編集します。 – ApproachingDarknessFish
明示的にbashを実行してみてください:bash -c "echo $ SHELL" – Steve