File bash脚本:如何存储源代码文件&x27;变量中的名称是什么?

File bash脚本:如何存储源代码文件&x27;变量中的名称是什么?,file,bash,scripting,File,Bash,Scripting,我想要写代码的文件名 例如,如果脚本写在名为“name.sh”的文件中 然后我想要一个变量,例如 var=name.sh 其中var将保存文件名 但是假设我不知道文件名,我怎么做呢?您可以使用bash内置变量$0来实现这一点 #!/bin/bash echo This script file is named `basename $0` 如果要将其存储在另一个变量中,可以执行以下操作: #!/bin/bash THESCRIPT=$0 echo This script file is n

我想要写代码的文件名

例如,如果脚本写在名为“name.sh”的文件中

然后我想要一个变量,例如

var=name.sh

其中var将保存文件名


但是假设我不知道文件名,我怎么做呢?

您可以使用bash内置变量
$0
来实现这一点

#!/bin/bash

echo This script file is named `basename $0`
如果要将其存储在另一个变量中,可以执行以下操作:

#!/bin/bash

THESCRIPT=$0

echo This script file is named $THESCRIPT
您可以使用basename

basename-从文件名中删除目录和后缀

var=$(basename$0)


看起来您需要包含当前脚本名称的
$0
$\
。请参见此处:

您可以使用
$0
,它在某些其他编程语言中相当于argv[0]

#!/bin/bash
echo $0
echo $1
如果使用
$sh file.sh one-two
运行上面的bash脚本,将获得以下输出

test.sh
one
two