【问题标题】:how to avoid -bash: command not found error如何避免 -bash: command not found 错误
【发布时间】:2015-11-12 11:11:34
【问题描述】:

这是我的脚本:

zio=build-mac-zio
x="zio"
y=${!x}

当我尝试echo $y 时,我按预期得到build-mac-zio。但是,当我执行此命令时:

mkdir -p $JENKINS_URL/bkp/jobs/$y/builds/

我收到以下消息:

-bash: build-mac-zio: command not found

如何访问$y 并将其分配给其他变量。

【问题讨论】:

  • "当我尝试访问 $y" — 您是否尝试将其作为命令运行?告诉我们你想用它做什么。 (如果您想将其分配给其他变量,请告诉我们您为什么不能使用$y 本身。)
  • 不,我没有使用 $y 作为命令。我使用它来动态创建目录,如下所示 "mkdir -p $JENKINS_URL/bkp/jobs/$y/builds/" ,但是它不工作。
  • 为我工作。请显示导致错误的确切命令。
  • alnet..如果我可以使用 ${zio} 那么就不需要这个问题:) @choroba,正如我在之前的评论中提到的,我正在使用“mkdir -p $JENKINS_URL/bkp /jobs/$y/builds/"
  • 您确定= 周围或变量中没有空格吗?

标签: linux bash shell ubuntu


【解决方案1】:

我对缺少引号感到紧张。试试这个:

dirname=$JENKINS_URL/bkp/jobs/$y/builds/
od -c <<<"$dirname" 

你看到里面有什么意想不到的字符吗?

【讨论】:

  • 我得到 0000000 J E N K I N S _ U R L / b k p / 0000020 j o b s / / b u i l d s / \n 0000036
  • 除了 $y 为空和 $JENKINS_URL=="JENKINS_URL" 之外,没有什么不寻常的地方。在您看到 mkdir 错误消息的同一上下文中执行该 od 命令。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-14
  • 2015-12-06
  • 2019-07-07
  • 2020-09-26
  • 2019-09-12
  • 2019-11-02
  • 1970-01-01
相关资源
最近更新 更多