Dav*_*ond 7 bash shell .bash-profile
所以我想创建一个可移植的bashrc/bash_profile文件.我有一个单独的脚本,我象征性地链接到.bashrc,.bash_profile等.然后$0
我看着根据调用的脚本切换我做的事情.问题是shell调用bashrc脚本当然它执行bash真的$0
对我来说意味着什么-bash
.$1
更多未设置为脚本名称.
所以我的问题是,在bash中如何获取正在执行的脚本的名称.不是执行它的二进制文件,例如bash?
我认为它给了我-bash
与$1
未设置,因为这实在不是一个新的进程.有任何想法吗?
Hui*_*eng 28
尝试:
readlink -f ${BASH_SOURCE[0]}
要不就:
${BASH_SOURCE[0]}
.
备注:
$0
仅在用户执行"./script.sh"时有效
$BASH_ARGV
仅当用户执行".script.sh"或"source script.sh"时才有效
${BASH_SOURCE[0]}
适用于这两种情况.
readlink -f
在使用符号链接时很有用.