【问题标题】:unable to call a stored variable in shell script无法在 shell 脚本中调用存储的变量
【发布时间】:2013-10-22 15:41:38
【问题描述】:

我有一个非常基本的脚本,它首先将输入参数的一部分保存到变量中:

dirN= basename $1
echo $dirN

$dirN 按预期显示 然后我尝试使用 $dirN

来查找字符串
tmp="/some/path/$dirN"

当我回显 $tmp 时,它只显示 /some/path/

我尝试覆盖 tmp

tmp=$dirN

并回显 $tmp, 它什么也没显示。
就像 $dirN 从未存储过,但它是从第 2 行回显的 我很困惑,我的同事也是。

有什么提示吗?

谢谢大家!

【问题讨论】:

  • dirN= basename $1 没有为 dirN 分配任何内容。相反,它执行basename 并将dirN 设置为其环境中的空字符串。

标签: shell variables echo store sh


【解决方案1】:

我相信你想要

dirN=`basename $1`

实际存储返回的值而不是

dirN= basename $1

“echo $dirN”在您的版本中没有显示任何内容,它是显示您归因于 echo 的输出的前一行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    • 2016-10-23
    相关资源
    最近更新 更多