以下cat命令似乎在for循环之外正常工作,但当我将其置于其中时会出现语法错误:
for i in 1 2 3 4 5 do
cat file_$i | grep "random text" | cut -d':' -f2 > temp_$i
done
有人可以向我解释写这个的正确方法吗?谢谢
答案 0 :(得分:5)
您的nil
循环应该有分号:
initWithCoder:
答案 1 :(得分:2)
答案 2 :(得分:1)
我总是喜欢在下一行放“do”,这样可以帮助我不记得使用分号:
for i in 1 2 3 4 5
do
cat file_$i | grep "random text" | cut -d':' -f2 > temp_$i
done
答案 3 :(得分:1)
在bash中,bash编译器将'行的末尾'隐含地视为命令/语句的结尾。
示例:
echo "Hello"
exit
#No need of semi-colons here as it is implicit that the end of the line is the completion of the statement
但是当你想在同一行上添加两个语句/命令时,你需要用分号(;)明确地分隔它们。
示例:
echo "hello"; exit
#here semi-colon implies that the echo statement ends at the semi-colon and from there on to the end of the line is a new statement.
关于“for statement”,语法如下:
for variable in (value-set)
do
----statements----
done
因此,您可以将for
,do
,statements
和done
放在新行中,也可以用分号分隔。