假设我有一个direction
包含以下行的文件
east
north
south
west
south-west
Run Code Online (Sandbox Code Playgroud)
并使用循环并echo
在 shell 脚本中生成以下输出:
Direction: east
Direction: north
Direction: south
Direction: west
Last direction: south-west
Run Code Online (Sandbox Code Playgroud)
换句话说,我想对脚本中的最后一行做一些不同的事情。
例如,
[fakename]$ type echo
echo is a shell builtin
Run Code Online (Sandbox Code Playgroud)
但是man echo
给了我 GNU coreutils 版本的echo
. 判断我正在查看的手册页是否正确的最简单方法是什么,即如果我直接调用它,我会得到哪个实用程序?
我知道在 Bourne shell 和派生类中,IFS=
将 IFS 设置为 null,因此 shell 不会执行任何字段拆分。
我记得阅读过:
echo "$*"
IFS= echo "$*"
当我运行这两个命令时,一次在 CentOS 中,一次在 WSL(uname -o
= GNU/Linux only,所以我不知道发行版)我只有空行。
上面的测试命令是什么意思,它真的是学习 IFS 的好例子吗(如果不是,你会建议什么简单的两行测试)?