Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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
Bash 能否在shell脚本中的管道之间插入换行符?_Bash_Shell - Fatal编程技术网

Bash 能否在shell脚本中的管道之间插入换行符?

Bash 能否在shell脚本中的管道之间插入换行符?,bash,shell,Bash,Shell,例如,而不是: ( set -o posix ; set ) | grep -v '^PATH'| grep -v '^USER' 有办法吗 ( set -o posix ; set ) | grep -v '^PATH' | grep-v '^USER' 在.sh脚本本身中(为了使代码更干净、更易于阅读?将管道放在行的末尾,而不是开头 ( set -o posix ; set ) | grep -v '^PATH' | grep -v '^USER' 或者逃离新线

例如,而不是:

( set -o posix ; set ) | grep -v '^PATH'| grep -v '^USER'
有办法吗

( set -o posix ; set ) 
| grep -v '^PATH' 
| grep-v '^USER'

在.sh脚本本身中(为了使代码更干净、更易于阅读?

将管道放在行的末尾,而不是开头

( set -o posix ; set ) | 
    grep -v '^PATH' | 
    grep -v '^USER'
或者逃离新线

( set -o posix ; set ) \
    | grep -v '^PATH' \
    | grep -v '^USER'
如果使用第二种方法,请确保反斜杠后面没有空格,它必须位于换行符之前

请注意,不需要使用两个
grep
调用。使用
grep-E
和匹配这两个变量的regexp

( set -o posix ; set ) | grep -E -v '^(PATH|USER)'

简单地说:
grep-v'^\(USER\| PATH\)“<谢谢!!两个选项都很有效。非常感谢obliged@Roadowl我只是在不看命令的情况下剪切粘贴命令,因为它们与问题无关。