在cygwin中读取链接

2 bash cygwin

我在每个剧本中做最基本的事情

  SCRIPT=`readlink -f ${0}`
  HOME=`dirname $SCRIPT`
Run Code Online (Sandbox Code Playgroud)

并且,给$0 = C:\Users\dir\file,readlink给我/cygdrive/c/CURRENT_DIRECTORY/C:\Users\dir\file使下dirname产生可怕的/cygdrive/c/Users/CURRENT_DIRECTORY/C:\Users\dir,而不是C:\Users\dir/cygdrive/c/Users/dir

它应该以这种方式工作吗?

小智 5

似乎我找到了答案:我们应该转换$0成cygwin格式然后readlink可以使用它

ZERO=`cygpath ${0}`
SCRIPT=`readlink -f ${ZERO}`
Run Code Online (Sandbox Code Playgroud)