本文介绍了我如何找到正在执行的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脚本的位置?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!