qsub路径shell脚本

时间:2013-04-11 04:19:27

标签: shell path qsub

我有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。

谢谢。

1 个答案:

答案 0 :(得分:0)

qsub -cwd "command"从启动它的同一工作目录运行命令。

假设映射层设置正确