Sebastian Carlos Asked: 2023-07-05 17:52:23 +0800 CST2023-07-05 17:52:23 +0800 CST 2023-07-05 17:52:23 +0800 CST 为什么即使没有命令,Bash 也会重定向? 772 Bash 手册说,执行扩展后 如果没有命令名结果,则会执行重定向,但不会影响当前的 shell 环境。 现在,这个的用例是什么?如果没有什么可做的,并且重定向甚至不影响当前的 shell 环境,那么重定向有什么意义呢? bash 2 个回答 Voted Best Answer Stephen Kitt 2023-07-05T18:00:06+08:002023-07-05T18:00:06+08:00 一种用例是创建一个文件(如果该文件不存在): >> foo 还可以确保文件为空: > foo 输入重定向可以用作存在测试,但[ -f foo ]效果也一样: < foo echo $? muru 2023-07-05T17:59:22+08:002023-07-05T17:59:22+08:00 您始终可以仅使用重定向来创建文件: > "$some_file"
一种用例是创建一个文件(如果该文件不存在):
还可以确保文件为空:
输入重定向可以用作存在测试,但
[ -f foo ]
效果也一样:您始终可以仅使用重定向来创建文件: