パスについて 2 つの質問があります。
最初の質問は「qsub」に関連しています
これは私の現在のフォルダです
/home/mtrnn/rnn_class_EE837/src/rnn-learn/result/lissa_1_rec/
私が使用するこのフォルダに
qsub -q public_~~~ ./start.sh
それはうまくいきます。問題は、サーバーを使用するたびに、以下のシェル スクリプト (start.sh) でパスを変更する必要があることです。別のフォルダーで使用する場合、start.sh のコードの下に変更する必要があるたびに
cd current_path
例えば、
cd /home/mtrnn/rnn_class_EE837/src/rnn-learn/result/lissa_1_rec/
面倒くさいし、よくパスエラーになる。
削除できますか
cd ~~~~
「pwd」などを使用して?
つまり、「pwd」を使用して現在のパスを読み取り、この結果を変数としてシェルスクリプトに入れます。可能ですか?「pwd」の結果を変数として取得し、それをstart.shの変数に入れることができれば、その部分を削除できると思います。しかし、私はそれを行う方法はありません。
これはstart.shです
#!/bin/sh
cd /home/mtrnn/rnn_class_EE837/src/rnn-learn/result/lissa_1_rec/
if [ "$1" = clean ]; then
rm -f *.log *.dat target.txt *.scale *.restore
exit
fi
config_file=test_config.txt
connection_file=connection.txt
if [ -f $connection_file ]; then
cp $config_file ."$config_file".tmp
gen_config.sh $connection_file >> ."$config_file".tmp
else
cp $config_file ."$config_file".tmp
fi
../../rnn-learn -i rnn.dat -c ."$config_file".tmp ./target*.txt
#${path2}rnn-generate -n 2000 rnn.dat > orbit.log
rm ."$config_file".tmp
2番目の質問は、
#${path2}rnn-generate -n 2000 rnn.dat > orbit.log
上記のコードでは、 ${path2} があります
start.sh の場合、 ${path2} は常に rnn-generate があるフォルダーを指していると思います。
どのようにできるのか?やり方がわかれば変えたい
../../rnn-learn -i rnn.dat -c ."$config_file".tmp ./target*.txt
に
${path3}rnn-learn ~~~
ああ、今私はサーバーを使用していて、大臣ではありません。
したがって、/etc/bashrc または /etc/environment を変更することはできないと思います。
ありがとうございました。