【发布时间】:2014-09-21 13:39:34
【问题描述】:
我有一个问题,关于如何在 Bash 中使用 \t 等特殊字符传递参数。
为了保留引号,我知道以下几点:
function my_grep {
cmd="grep '$@'"
eval $cmd;
}
这样我就可以my_grep "hello world"。
但我似乎无法以这种方式保留 \t,例如
my_grep "hello\tworld"
关于如何进行这项工作的任何想法?
【问题讨论】:
-
这个函数可以用在你的
.bashrc吗?另外,您打算如何指定要搜索的文件或文件模式? -
如果要保留引号,则需要对引号进行转义。您只是替换引号并将
eval与用户输入一起使用,即big security issue。 -
@DavidC.Rankin:正确,类似于那个文件。搜索模式可能看起来像“hello\tworld”,\t 将在终端中通过 ctrl+v TAB 键入。