在Bash中将命令输出分配给变量?

时间:2017-04-05 22:24:57

标签: linux bash

我知道这似乎相当微不足道。但我不知道我哪里出错了。我有一个shell脚本,我根据输入参数下载一个包,然后提取包名称。我就是这样做的:

wget $1
echo $1 | awk -F/ '{print $NF}'

我像bash scrip.sh http://apache.claz.org/phoenix/apache-phoenix-4.10.0-HBase-1.2/bin/apache-phoenix-4.10.0-HBase-1.2-bin.tar.gz

一样运行它

我下载了包,然后第二行将输入变量沿/分隔符分割,得到apache-phoenix-4.10.0-HBase-1.2-bin.tar.gz。现在我想将第二行的结果分配给变量。我将脚本更改为dir=$($1 | awk -F/ '{print $NF}')并在脚本中添加echo $dir以查看结果。但是我一直遇到这个错误:line 2: http://apache.claz.org/phoenix/apache-phoenix-4.10.0-HBase-1.2/bin/apache-phoenix-4.10.0-HBase-1.2-bin.tar.gz: No such file or directory

我尝试将命令包装到``但问题仍然存在。我没有进入任何目录,所以我不知道为什么这个错误会一直显示出来。

0 个答案:

没有答案