Top*_*der 1 unix bash shell grep
我正在尝试编写一个bash脚本,以便我将用来替换我的egrep命令.我希望能够获取与我的脚本完全相同的输入并将其提供给egrep.即
#!/bin/bash
PARAMS=$@
`egrep "$PARAMS"`
Run Code Online (Sandbox Code Playgroud)
但我注意到,如果我回应我正在执行的内容,引号已被删除如下:
./customEgrep -nr"grep my ish"*
回报
egrep -nr grep my ish(来自展开的*的文件列表)
有没有办法让我可以直接输入输入,以便我可以直接使用egrep?
你要这个:
egrep "$@"
Run Code Online (Sandbox Code Playgroud)
您键入的引号不会传递给脚本; 它们用于确定单词边界.使用"$@"保留这些单词边界,因此egrep将获得与直接运行它时相同的参数.但是如果你echo的论点,你仍然不会看到引号.