【发布时间】:2011-12-10 08:42:36
【问题描述】:
我要写代码的文件名
例如,如果脚本写在名为“name.sh”的文件中
然后我想有一个变量,例如
var=name.sh
var 存放文件名的地方
但是假设我不知道文件的名称,我该怎么做呢?
【问题讨论】:
我要写代码的文件名
例如,如果脚本写在名为“name.sh”的文件中
然后我想有一个变量,例如
var=name.sh
var 存放文件名的地方
但是假设我不知道文件的名称,我该怎么做呢?
【问题讨论】:
您可以使用基本名称。
basename - 从文件名中去除目录和后缀
var=$(basename $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
【讨论】: