从 csh 脚本更改工作目录
change working directory from csh script
我想查找运行个进程的一些数据,实际上我是在scratch目录中搜索对应的job-ID。我设法通过以下命令手动执行此操作(假设作业 ID 为 12345):
find ~ -name '12345.out'
根据作业找到输出文件:
/home/username/somefolder/12345.out
临时目录被写入该文件夹中名为 .scrdir 的文件,因此
cd | cat /home/username/somefolder/.scrdir
带我去我想去的地方。
我现在想 将它与我的 .cshrc.
中的 csh 脚本或某个别名 合并
到目前为止我的尝试:
#/bin/csh
set jobfile = `find ~ -name $argv[1].out`
set jobdir = `dirname $jobfile`
set scrdir = `cat $jobdir/.scrdir`
echo $scrdir
其中第一个参数值是作业 ID,例如 12345该脚本打印正确的暂存目录,但我希望它在我调用该脚本后将我的实际工作目录更改为暂存目录。如何从 csh 脚本中更改工作目录?
我也很感激任何改进问题 / -title 的建议。
由于csh中没有shell函数,我找到的唯一解决办法是用source
调用脚本。
脚本:
#/bin/csh
set jobfile = `find ~ -name $argv[1].out`
set jobdir = `dirname $jobfile`
set scrdir = `cat $jobdir/.scrdir`
cd $scrdir
调用脚本:
source myscript.sh
我想查找运行个进程的一些数据,实际上我是在scratch目录中搜索对应的job-ID。我设法通过以下命令手动执行此操作(假设作业 ID 为 12345):
find ~ -name '12345.out'
根据作业找到输出文件:
/home/username/somefolder/12345.out
临时目录被写入该文件夹中名为 .scrdir 的文件,因此
cd | cat /home/username/somefolder/.scrdir
带我去我想去的地方。
我现在想 将它与我的 .cshrc.
中的 csh 脚本或某个别名 合并到目前为止我的尝试:
#/bin/csh
set jobfile = `find ~ -name $argv[1].out`
set jobdir = `dirname $jobfile`
set scrdir = `cat $jobdir/.scrdir`
echo $scrdir
其中第一个参数值是作业 ID,例如 12345该脚本打印正确的暂存目录,但我希望它在我调用该脚本后将我的实际工作目录更改为暂存目录。如何从 csh 脚本中更改工作目录?
我也很感激任何改进问题 / -title 的建议。
由于csh中没有shell函数,我找到的唯一解决办法是用source
调用脚本。
脚本:
#/bin/csh
set jobfile = `find ~ -name $argv[1].out`
set jobdir = `dirname $jobfile`
set scrdir = `cat $jobdir/.scrdir`
cd $scrdir
调用脚本:
source myscript.sh