将命令输出分配给shell脚本变量

时间:2016-09-22 05:16:10

标签: shell unix

如何将命令输出分配给shell脚本变量。

echo ${b%?} | rev | cut -d'/' -f 1 | rev

${b%?}给了我一条路径......例如:/home/home1

上面的命令给我home1作为输出。我需要将此输出分配给shell脚本变量。

我尝试了以下代码

c=${b%?} |rev | cut -d '/' -f 1 | rev

echo $c

但它没有用。

2 个答案:

答案 0 :(得分:1)

要将某些命令的输出分配给变量,您需要使用命令替换:

variable=$(command)

对于你的情况:

c=$(echo {b%?} |rev | cut -d '/' -f 1 | rev)

只是想知道为什么不试试

basename ${b} 

或者只是

echo ${b##*/}
home1

如果您想修剪路径中的最后一个数字而不是:

b="/home/home1"
echo $b
/home/home1
b=${b//[[:digit:]]/}
c=$(echo ${b##*/})
echo ${c}
home

答案 1 :(得分:0)

就像这样:

variable=`command`