本文介绍了我如何找到正在执行的tcsh shell脚本的位置?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

说我把一个可执行的tcsh文件放在/path/to/my_script.csh



中,我当前的目录是任何地方,例如我在/ path



所以我输入到/ my_script.csh



我想在my_script.csh中有一行将返回/path/to/my_script.csh - 像ruby的

  __ FILE__ 
/ pre>

解决方案

如果要确保相同的结果(完整路径和脚本名称),请尝试以下操作:

  ... 
rootdir =`/ bin / dirname $ 0`#可能是相对路径
rootdir =`cd $ rootdir&&& pwd#确保绝对路径
零= $ rootdir /`/ bin / basename $ 0`
echo $零
...

然后您可以将其称为foo.sh,./foo.sh,some / lower / dir / foo.sh,并且仍然得到相同的结果,无论它如何被调用。


Say I put an executable tcsh file in /path/to/my_script.csh

and my current directory is anywhere, for example I'm in /path

So I type to/my_script.csh

I want to have a line in my_script.csh that will return "/path/to/my_script.csh" - like ruby's

__FILE__
解决方案

If you want to ensure the same result (full path and script name) try something like this:

...
rootdir=`/bin/dirname $0`       # may be relative path
rootdir=`cd $rootdir && pwd`    # ensure absolute path
zero=$rootdir/`/bin/basename $0`
echo $zero
...

Then you can call it as foo.sh, ./foo.sh, some/lower/dir/foo.sh and still get the same result no matter how it is called.

这篇关于我如何找到正在执行的tcsh shell脚本的位置?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-12 15:22