我有2个关于路径的问题。
第一个问题与'qsub'
有关这是我当前的文件夹
/home/mtrnn/rnn_class_EE837/src/rnn-learn/result/lissa_1_rec/
在此文件夹中我使用
qsub -q public_~~~ ./start.sh
效果很好。 问题是每当我使用服务器时,我需要在下面的shell脚本中更改路径(start.sh) 当我在不同的文件夹中使用时,每次我需要在start.sh中更改下面的代码
cd current_path
例如,
cd /home/mtrnn/rnn_class_EE837/src/rnn-learn/result/lissa_1_rec/
这太麻烦了,而且经常会出现路径错误。
我可以删除
吗?cd ~~~~
使用'pwd'或其他什么?
我的意思是,使用'pwd'读取当前路径并将此结果作为变量放入shell脚本中。 有可能吗? 我想,如果我可以将'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
第二个问题是,
#${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。
谢谢。
答案 0 :(得分:0)
qsub -cwd "command"
从启动它的同一工作目录运行命令。
假设映射层设置正确