【问题标题】:Expanding a shell variable in a script在脚本中扩展 shell 变量
【发布时间】:2019-03-31 18:55:03
【问题描述】:

如果我在我的环境中定义我的存档文件夹并导出它,我如何在 shell 脚本中访问它并运行程序?

ARCHIVE=/home/kschmidt/public_html/CS265/Assignments/DrMath/Archive
export ARCHIVE
./prob1

目前,我的 prob1 包含此代码,当我尝试运行时出错。

#!/bin/bash
print ARCHIVE

【问题讨论】:

    标签: bash shell variables syntax


    【解决方案1】:

    您通过在 shell 变量前面加上 $ 来扩展它,然后用 echoprintf 命令打印它 - shell 没有 print 命令:

    echo "$ARCHIVE"
    

    printf '%s\n' "$ARCHIVE"
    

    顺便说一句,在脚本中使用相对路径(如./prob1)是不好的,除非您明确地cding 到prob1 所在的目录。所以,要么:

    • 在使用相对路径调用脚本目录之前,对脚本目录执行显式cd

    • 使用绝对路径(如 /path/to/prob1)

    相关:

    【讨论】:

      【解决方案2】:

      prob1 的代码应该是这样的:

      #!/bin/bash
      bash $ARCHIVE
      

      然后 prob1 像这样运行:

      bash prob1
      

      希望对你有所帮助。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-11
      • 1970-01-01
      • 2012-03-17
      • 1970-01-01
      • 1970-01-01
      • 2020-01-16
      • 2013-01-04
      • 1970-01-01
      相关资源
      最近更新 更多