在Bash 脚本中,使用if [[ $0 == ${BASH_SOURCE[0]} ]]; then的模式功能上与 Python 中的if __name__ == "__main__":语句相似。这个 Shell 脚本的构造在如下两种情境中判断当前脚本是被直接执行还是被 source: 脚本被直接执行(如./script.sh):此时$0与${BASH_SOURCE[0]}相同,都是脚本的名称,因此...
BASH_SOURCE[0]BASH_SOURCE[0] 等价于BASH_SOURCE, 取得当前执行的shell文件所在的路径及文件名。 在目录/home/sam/linux编程练习/Shell下新建脚本test.sh: 1 #!/bin/bash 2 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../" && pwd )" 3 # DIR=$( cd "$( dirname ${BASH_SOURCE[0]}...
通过source命令可以将一个脚本文件的内容加载到当前的bash环境中,这样可以方便地在当前环境中使用脚本中定义的变量和函数等。 而在bash中,数字0代表成功的退出状态。在使用source命令执行完另一个脚本文件后,我们可以通过检查该命令的退出状态来判断脚本的执行是否成功。如果source命令执行成功,它会返回0这个退出状态,反之...
1 常用快捷键 Alt+Backspace:删除光标前的一个单词 Alt+F:移动光标到下一个空格处 Alt+B:移动光...
1 echo ${BASH_SOURCE[0]} 显示执行脚本的命令,dirname 取出该命令的路径部分,解析为绝对路径(你可能会cd到脚本所在路径后./xxx.sh执行,也可能用脚本的绝对路径执行,两种情况dirname命令都可以取到脚本的绝对路径)。2 && pwd 如果&&前面的命令(这里为cd xxx)执行成功,执行pwd取当前路径(即...
Hi in some of the scripts you are still using dirname $0 to get the script folder. This doesn't work all the time. And should be replaced by either BASH_SOURCE[0] or another solution.Owner Damangir commented Jan 16, 2014 Thanks for reporting. Replaced with (cd(dirname "${BASH_...
ubuntu下source、sh、bash、.执⾏脚本的区别详细介绍ubuntu下source、sh、bash、./执⾏脚本的区别 1.source命令⽤法: source FileName 作⽤:在当前bash环境下读取并执⾏FileName中的命令。该filename⽂件可以⽆"执⾏权限"注:该命令通常⽤命令“.”来替代。如:source .bash_profile . ....
在Scala 2.11中执行BASH source命令可以使用Java的ProcessBuilder类来实现。ProcessBuilder类可以创建一个子进程并执行指定的命令。 下面是一个示例代码,展示了如何在Scala 2.11中执行BASH source命令: 代码语言:scala 复制 import java.io._ object BashSourceExample { ...
针对你遇到的 -bash: “source: command not found 错误,以下是一些可能的解决步骤和原因分析: 确认Shell类型: source 是Bash 和其他 Bourne 兼容的 shell(如 zsh)中的一个内置命令。首先,你需要确认当前使用的 shell 是否是 Bash 或兼容的 shell。可以使用以下命令来查看当前 shell: bash echo $SHELL 如果...
${BASH_SOURCE[0]}表示bash脚本的第一个参数(如果第一个参数是bash,表明这是要执行bash脚本,这时"${BASH_SOURCE[0]}"自动转换为第二个参数 "dirname"表示提取参数里的目录,dirname "${BAS