如何将此结果保存在变量中?

时间:2017-06-15 03:27:38

标签: linux shell

我只想将此命令的结果存储在变量中,但它不起作用,

echo "${dir##*/}" | sed -r 's/[$  :@?!]+/_/g'

试试。

fixfolderNamesTest.sh: line 76: syntax error near unexpected token `|'

line=(${dir##*/} | sed -r 's/[$  :@?!]+/_/g')
echo "$line"

1 个答案:

答案 0 :(得分:0)

为了进一步简化您的问题,即使以下情况也会提供相同的错误:

$ ls
a.csv  cr  f1  f2  file  s  t
$ ls | grep file
file
$ echo $out

$ out=(ls | grep file)
-bash: syntax error near unexpected token `|'
$ echo $out

$ out=`ls | grep file`
$ echo $out
file

我建议使用反引号将输出捕获到变量中。