0

我有两个关于路径的问题。

第一个问题与“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”读取当前路径并将此结果作为变量放入 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。

谢谢你。

4

1 回答 1

0

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

假设映射层设置正确

于 2014-03-19T00:13:40.683 回答