如何在 shell 脚本中获取符号链接目标的文件名?

如何在 shell 脚本中获取符号链接目标的文件名?

假设脚本名称是myscript.这是一个符号链接thescript_1.91.sh

有没有办法获取链接目的地的名称?示例:我想写入日志文件

cat <<EOF

#########################
`basename $0`
`date -R` 
#########################

EOF

$0 保存子 shell 的文件参数名称,即“myscript”

有没有办法在这里获取链接目标的名称?

答案1

如果您的系统有一个readlink实用程序,就可以做到这一点。

cat <<END_MESSAGE
#########################
$( basename "$( readlink -f "$0" )" )
$( date -R ) 
#########################
END_MESSAGE

-f选项用于递归解析给定路径名中的所有符号链接,而不仅仅是第一个链接。请参阅readlink您系统上的手册( man 1 readlink)。

相关内容:

相关内容