Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell <;当它产生一个次外壳时_Shell_Unix_Pipe_Spawn_Subshell - Fatal编程技术网

Shell <;当它产生一个次外壳时

Shell <;当它产生一个次外壳时,shell,unix,pipe,spawn,subshell,Shell,Unix,Pipe,Spawn,Subshell,显然,,,和

显然,<和|表现相似

cat file | wc
wc < file
构造可以重述为

if test -r file

然后可以找到“测试”实用程序的手册页。(尝试搜索方括号中的文档!)要查找有关“
>
的行为显然与之类似

有一些细微的相似之处,但你不能走得太远。它们都代表重定向


示例第1行中的
错误。是否应该是
cat file | wc
?对于bash,它在中有文档记录,但是您从哪里知道它会生成子shell?它没有。对于POSIX Shell,有关
测试的问题在我们的知识库中已经有答案,如果单独询问,将作为重复关闭。事实上,将它们与重定向问题混为一谈会将问题置于“太宽”的领域。@CharlesDuffy OP不是在问
测试
,而是在问它们是否相似。也就是说,他们在问,了解
[
一个人必须找到关于
测试的信息。他们在问是否有类似的途径可以找到
。这是另一个可靠的参考。
if [ -r file ]
if test -r file
cat file | wc
wc < file
$ type [
[ is a shell builtin
$ type [[
[[ is a shell keyword
$ help [