谁能给我解释一下这句话的意思 SCRIPT_HOME=$(dirname $(readlink -f $0))

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谁能给我解释一下这句话的意思 SCRIPT_HOME=$(dirname $(readlink -f $0))相关的知识,希望对你有一定的参考价值。

LENV_UNYO_HOME=`/usr/bin/dirname $0`/.. --获取脚本所在目录的上级目录,$0代表当前运行的脚本(包含路径)dirname就是这个脚本的最后一个‘/’之前的内容(看示例,可能说的不是很明白),你程序后面应该还有cd到这个目录的操作。 LENV_SHELL_NAME=$0##*/ --获取脚本的名称(不包含目录) 看示例: [u@H /billing/user/xufc/project]$cat test.sh #!/bin/ksh echo $0 LENV_UNYO_HOME=`/usr/bin/dirname $0`/.. #cd $LENV_UNYO_HOME #ls echo $LENV_UNYO_HOME LENV_SHELL_NAME=$0##*/ echo $LENV_SHELL_NAME 现在直接在脚本所在目录【/billing/user/xufc/project】下执行: [u@H /billing/user/xufc/project]$./test.sh ./test.sh ./.. test.sh 现在我切换到上级目录【/billing/user/xufc】执行脚本,关注$0的变化 [u@H /billing/user/xufc]$project/test.sh project/test.sh project/.. test.sh 现在我在切换到再上一级的目录【/billing/user】,执行看看 [u@H /billing/user]$xufc/project/test.sh xufc/project/test.sh xufc/project/.. test.sh shell有什么不明白的,最好的方法就是直接用小脚本测试,希望对你有所帮助! 参考技术A 1:在Linux中readlink命令的作用是:输出符号链接值或权威文件名(通常使用的是-f参数),

(-f, --canonicalize 递归跟随给出文件名的所有符号链接以标准化,除最后一个外所有组件必须存在。)
2:$0代表当前运行的脚本。
3:$(readlink -f $0) 表示的就是当前脚本在系统中链接的完整名称(包含脚本名称)。
4:dirname命令去除文件名中的非目录部分。
5:$(dirname $(readlink -f $0)) 指的是去掉$(readlink -f $0) 的非目录部分,也就是得到当前脚本的目录路径。
总结:整个语句运行完成下来的就是得到当前运行脚本的路径,并且赋值给
SCRIPT_HOME变量。

以上是关于谁能给我解释一下这句话的意思 SCRIPT_HOME=$(dirname $(readlink -f $0))的主要内容,如果未能解决你的问题,请参考以下文章

谁能给我解释一下这个 IOCP 图?

什么是BI,谁能解释一下?

急急急!谁能给我解释下String IPs=request.getRemoteAddr();啥意思啊

谁能给我一个关于“啥使对象有状态”的这种情况的好例子?

这道题能解释一下吗?

谁能给我一个xsl中模板“模式”的例子吗?