【问题标题】:bash scripting: how to store the source code file's name in a variable?bash 脚本:如何将源代码文件的名称存储在变量中?
【发布时间】:2011-12-10 08:42:36
【问题描述】:

我要写代码的文件名

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

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

var=name.sh

var 存放文件名的地方

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

【问题讨论】:

    标签: file bash scripting


    【解决方案1】:

    您可以使用基本名称。

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

    var=$(basename $0)

    【讨论】:

      【解决方案2】:

      您可以为此使用 bash 内置变量 $0

      #!/bin/bash
      
      echo This script file is named `basename $0`
      

      如果你想将它存储在另一个变量中,你可以这样做:

      #!/bin/bash
      
      THESCRIPT=$0
      
      echo This script file is named $THESCRIPT
      

      【讨论】:

        【解决方案3】:

        看起来您想要$0$_,其中包含当前脚本的名称。见这里:http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_02.html#sect_03_02_04

        【讨论】:

          【解决方案4】:

          您可以使用$0,它在其他一些编程语言中等效于 argv[0]。

          #!/bin/bash
          echo $0
          echo $1
          

          如果您使用$ sh file.sh one two 运行上面的 bash 脚本,您将获得以下输出。

          test.sh
          one
          two
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2015-08-06
            • 2021-07-04
            • 2016-07-10
            • 2011-03-09
            • 1970-01-01
            • 1970-01-01
            • 2011-08-23
            相关资源
            最近更新 更多