在C Shell中执行脚本时获取脚本路径

在C Shell中执行脚本时获取脚本路径,shell,unix,csh,Shell,Unix,Csh,我有一个脚本env.csh。我可以从任何地方找到它,不管它在哪里 File Path : /tmp/dump/env.csh Run Path : /usr Command : source /tmp/dump/env.csh 如何在从/folder usr获取env.csh时获取文件路径 我用了这个脚本 set SCRIPT=`readlink -f "$0"` set SCRIPTPATH=`dirname "$SCRIPT"`

我有一个脚本env.csh。我可以从任何地方找到它,不管它在哪里

      File Path :  /tmp/dump/env.csh 

      Run Path : /usr  

      Command :  source /tmp/dump/env.csh
如何在从/folder usr获取env.csh时获取文件路径

我用了这个脚本

  set SCRIPT=`readlink -f "$0"`
  set SCRIPTPATH=`dirname "$SCRIPT"`
  echo $SCRIPTPATH
但它是给定路径as/usr


如果文件名为
env.csh

 set called=($_)
 set script_fn=`readlink -f $called[2]`
 echo $script_fn
 set script_dir = `dirname "$script_fn"`
 echo $script_dir
set scriptpath=`find /proc/$$/fd -type l -lname '*env.csh' -printf '%l' + | xargs dirname`
echo $scriptpath

另请参见和。

您的问题有点不清楚,请您澄清“sourcing env.csh”是什么意思,您是指“source env.csh”?是的,其source env.csh在这种情况下,请参见: