当source用于从另一个脚本调用bash脚本时,我无法从该脚本中找出被调用脚本的名称.
file1.sh
#!/bin/bash
echo "from file1: $0"
source file2.sh
Run Code Online (Sandbox Code Playgroud)
file2.sh
#!/bin/bash
echo "from file2: $0"
Run Code Online (Sandbox Code Playgroud)
运行file1.sh
$ ./file1.sh
from file1: ./file1.sh # expected
from file2: ./file1.sh # was expecting ./file2.sh
Run Code Online (Sandbox Code Playgroud)
问:我怎样才能检索到file2.sh的file2.sh?
dog*_*ane 26
更改file2.sh到:
#!/bin/bash
echo "from file2: ${BASH_SOURCE[0]}"
Run Code Online (Sandbox Code Playgroud)
请注意,这BASH_SOURCE是一个数组变量.有关更多信息,请参阅Bash手册页.
| 归档时间: |
|
| 查看次数: |
7139 次 |
| 最近记录: |