我试图在bash中分隔行的内容。我的代码是这样的。
while read line; do
var1=${line% *}
var2=${line#* }
echo -e "var1[$var1] var2[$var2]"
done < "shares.lst"
我的shares.lst
看起来像这样:
defaults data
sample here
okay
输出是这样的:
var1[defaults] var2[data]
var1[sample] var2[here]
var1[okay] var2[okay]
当行只是一行时会出现问题。我应该采取什么方法,以便检查我可以采用的变量是否只有一个?
答案 0 :(得分:3)
read
可以为您分割:
while read var1 var2; do
echo -e "var1[$var1] var2[$var2]"
done < "shares.lst"
将输出
var1[defaults] var2[data]
var1[sample] var2[here]
var1[okay] var2[]
答案 1 :(得分:0)
我认为你可以将var1与var2进行比较以获得相等性,如果它们不相等则回显你的结果。等,
if ["$var1" != "$var2"]; then
echo -e "var1[$var1] var2[$var2]"