首页 > 解决方案 > 在脚本中扩展 shell 变量

问题描述

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

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

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

#!/bin/bash
print ARCHIVE

标签: bashshellvariablessyntax

解决方案


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

echo "$ARCHIVE"

或者

printf '%s\n' "$ARCHIVE"

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

  • cd在使用相对路径调用它之前对脚本目录进行显式处理

或者

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

有关的:


推荐阅读