我有bash脚本,例如
for i in `echo a [ matched.lines`
do
echo $i
done
为什么输出以下脚本
一
[
matched.lines
我想要输出文本
a [matched.lines
我该怎么做
感谢您的帮助
答案 0 :(得分:2)
脚本分别回显每个标记。在echo -n $i
内使用do ... done
。
答案 1 :(得分:0)
我已经用sed全局替换将''字符替换为'',并且在输出脚本时没有新行感谢帮助
答案 2 :(得分:0)
使用shell读取文件,在读取循环时使用
while read -r loop
do
case "$line" in
*]* ) echo $line;;
esac
done <"file"
答案 3 :(得分:0)
很抱歉,但这不会做你想要的。您的for
循环使用空格作为其参数的分隔符。这将导致每个项目在单独的行上回显。添加-n在此处不起作用,因为您不会在行的末尾获得\ n。老实说,我不知道你在这里尝试做什么。如果你只想回复这个“a [matched.lines”作为字符串,你可以这样做:
for i in "a [ matched.lines";do
echo $i
done
但我觉得你会误解如何使用for循环......