我写了一个方便的ksh shell脚本,它读取输出firstcommand
,从grep执行一些过滤,结果值被输入othercommand
handy.ksh
#!/usr/bin/ksh
othercommand `firstcommand | grep 'keyword' | cut -d ' ' -f 1`
它非常好用。 但是,我想通过命令行传递我的关键字'关键字。通常我可以使用$ 1
>handy.ksh TEST
并且脚本$ 1内部将是TEST 但是,我无法逃脱坟墓,而且1美元的字面解释。
如何逃避??
答案 0 :(得分:2)
您可以使用$()
代替反对:
#!/usr/bin/ksh
# test.ksh
echo $(echo "foo bar" | grep "$1" | cut -d ' ' -f 1)
现在你可以这样称呼它:
ksh test.ksh foo