我想在代码编写bash脚本:如何将源代码文件的名称存储在变量中?
例如,如果脚本是写在一个名为“name.sh”
的话,我想有例如可变文件的文件名
VAR = name.sh
其中var将持有该文件的名称
但假设我不知道该文件的名称,我该怎么办呢?
我想在代码编写bash脚本:如何将源代码文件的名称存储在变量中?
例如,如果脚本是写在一个名为“name.sh”
的话,我想有例如可变文件的文件名
VAR = name.sh
其中var将持有该文件的名称
但假设我不知道该文件的名称,我该怎么办呢?
您可以使用基名。
基名 - 从文件名带目录和后缀
VAR = $(基名$ 0)
你可以为此使用bash内建变量$0
。
#!/bin/bash
echo This script file is named `basename $0`
如果你想将其存储在另一个变量,你可以这样做:
#!/bin/bash
THESCRIPT=$0
echo This script file is named $THESCRIPT
看起来你想要么$0
或$_
,其中包含当前脚本的名称。请参阅:http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_02.html#sect_03_02_04
您可以使用$0
,它在其他一些编程语言中等价于argv [0]。
#!/bin/bash
echo $0
echo $1
如果您使用$ sh file.sh one two
运行上面的bash脚本,您将得到以下输出。
test.sh
one
two