深入探索Shell输入输出重定向与printf命令
1. 输入读取的特殊情况
在Shell脚本中,读取输入时,通常会忽略反斜杠加换行符的组合,继续从下一行读取输入。例如:
$ printf "Enter name, rank, serial number: " ; read name rank serno
Enter name, rank, serial number: Jones \
> Major \
> 123-45-6789
$ printf "Name: %s, Rank: %s, Serial number: %s\n" $name $rank $serno
Name: Jones, Rank: Major, Serial number: 123-45-6789
然而,有时你可能希望精确读取一行,无论其内容如何。这时可以使用 -r 选项。 -r 选项是POSIX标准的一部分,许多Bourne shell可能不支持它。使用 -r 选项时, read 命令不会将结尾的反斜杠视为特殊字符:
$ read -r name rank serno
tolstoy \
Only two fields provided
$ echo $name $rank $serno
tolstoy \
$serno is empty
超级会员免费看
订阅专栏 解锁全文
90

被折叠的 条评论
为什么被折叠?



