是否可以格式化此示例:
for i in string1 string2 stringN
do
echo $i
done
类似于这样的东西:
for i in
string1
string2
stringN
do
echo $i
done
编辑:抱歉造成混乱,没有意识到执行脚本有不同的方法 - sh<scriptname>
与bash <scriptname>
还有我现在无法命名的东西 -#!/bin/sh
和#!/bin/bash
:)
答案1
在 bash 中使用数组可以提高可读性:此数组语法允许单词之间有任意空格。
strings=(
string1
string2
"string with spaces"
stringN
)
for i in "${strings[@]}"; do
echo "$i"
done
答案2
您可以使用反斜杠转义换行符:
$ for i in \
> hello \
> world
> do
> echo $i
> done
hello
world
$
答案3
list='a b c d'
for element in $list;do
echo "$element"
done
答案4
如果可以选择切换到zsh
:
for string (
string1
'other string'
etc..
) printf '%s\n' "$string"