在 C 中执行时获取脚本路径 Shell
Get script path when executing it in C Shell
假设我有脚本env.csh。我可以从任何地方获取它,而不管它的位置
File Path : /tmp/dump/env.csh
Run Path : /usr
Command : source /tmp/dump/env.csh
当我从 / 文件夹 usr 获取 env.csh 时如何获取文件路径。
我用过这个脚本
set SCRIPT=`readlink -f "[=12=]"`
set SCRIPTPATH=`dirname "$SCRIPT"`
echo $SCRIPTPATH
但它给出的路径为 /usr
任何获取文件路径的方法
set called=($_)
set script_fn=`readlink -f $called[2]`
echo $script_fn
set script_dir = `dirname "$script_fn"`
echo $script_dir
如果您的文件名为 env.csh
set scriptpath=`find /proc/$$/fd -type l -lname '*env.csh' -printf '%l' + | xargs dirname`
echo $scriptpath
另见 here and here。
假设我有脚本env.csh。我可以从任何地方获取它,而不管它的位置
File Path : /tmp/dump/env.csh
Run Path : /usr
Command : source /tmp/dump/env.csh
当我从 / 文件夹 usr 获取 env.csh 时如何获取文件路径。
我用过这个脚本
set SCRIPT=`readlink -f "[=12=]"`
set SCRIPTPATH=`dirname "$SCRIPT"`
echo $SCRIPTPATH
但它给出的路径为 /usr
任何获取文件路径的方法
set called=($_)
set script_fn=`readlink -f $called[2]`
echo $script_fn
set script_dir = `dirname "$script_fn"`
echo $script_dir
如果您的文件名为 env.csh
set scriptpath=`find /proc/$$/fd -type l -lname '*env.csh' -printf '%l' + | xargs dirname`
echo $scriptpath
另见 here and here。