如何将分支的输出发送到管道
How to send ouput of branch if to pipe
有这个脚本:
if getopts "i" i; then
grep -i | a lot of commands
else
grep | a lot of commands
fi
问题是,我不想在第一次进入管道后复制 a lot of commands
,但该条目来自分支(无论是 getopts
return 0 还是 1) .我想要 grep ${i:-defauloption} | ...
之类的东西,而 defaultoption
取决于分支结果 - 即在管道之前嵌入分支,而不是用 else
分支复制 a lot of commands
,但只是没有选项(重复代码)。是否有可能以某种方式避免重复?
试试
if getopts "i" i; then
grep -i
else
grep
fi | a lot of commands
将可变部分存储在变量中。
if getopts "i" i; then
myoptions="-i"
fi
grep ${myoptions} | a lot of commands
有这个脚本:
if getopts "i" i; then
grep -i | a lot of commands
else
grep | a lot of commands
fi
问题是,我不想在第一次进入管道后复制 a lot of commands
,但该条目来自分支(无论是 getopts
return 0 还是 1) .我想要 grep ${i:-defauloption} | ...
之类的东西,而 defaultoption
取决于分支结果 - 即在管道之前嵌入分支,而不是用 else
分支复制 a lot of commands
,但只是没有选项(重复代码)。是否有可能以某种方式避免重复?
试试
if getopts "i" i; then
grep -i
else
grep
fi | a lot of commands
将可变部分存储在变量中。
if getopts "i" i; then
myoptions="-i"
fi
grep ${myoptions} | a lot of commands