【发布时间】:2012-12-19 02:49:10
【问题描述】:
我想运行一堆脚本并 grep 输出。例如,运行它并具有所需的输出行:
$ myScript.sh
运行这个不会:
$ myScript.sh | grep something
经过进一步审查,myScript.sh 中有这个:
#!/bin/sh
...
$JAVA_HOME/bin/java the.real.script.is.here ${1+"$@"}
我假设“| grep something”被吸进了 $@ 列表。关于如何轻松管道输出的任何想法?谢谢!
编辑:感谢大家提供有关如何解析变量的信息。问题一定是其他的。也许这就是我正在寻找的东西。在我的输出中,我正在寻找带有“/SE_2012.old”的行。我用“|grep old”再次运行脚本并得到no输出。我用“| grep SE”运行它,得到了结果。我用“old”再次运行它,看看我是否发疯了,它确实给了我一个结果。
【问题讨论】:
-
我认为您在这里没有提供足够的信息来说明发生了什么。脚本中的参数处理当然不可能消耗管道。
-
不幸的是,我唯一遗漏的是检查是否设置了 JAVA_HOME 以及类路径位置。不过我会进一步调查。
标签: bash variables parameters grep pipe