我有两个关于path的问题。
第一个问题与“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‘读取当前路径,并将结果作为变量放入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。
谢谢。
发布于 2014-03-19 08:13:41
qsub -cwd "command"从启动该命令的同一工作目录中运行该命令。
假设正确设置了映射层
https://stackoverflow.com/questions/15940700
复制相似问题