Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为重复的命令创建自定义Linux命令_Linux_Shell_Grep_Zsh - Fatal编程技术网

为重复的命令创建自定义Linux命令

为重复的命令创建自定义Linux命令,linux,shell,grep,zsh,Linux,Shell,Grep,Zsh,我发现自己一直在运行这个命令 grep -r "somestring" /workplace/scripts /workplace/server 我想用一个简单的自定义命令替换它 s "somestring" 这将做同样的事情 我该怎么做?我是linux新手。您的示例表明变量是搜索字符串。您可以定义一个函数: s() { grep -r -- "$1" /workplace/scripts /workplace/server } 并引用它说: s "somestring" 您的示例表

我发现自己一直在运行这个命令

grep -r "somestring" /workplace/scripts /workplace/server
我想用一个简单的自定义命令替换它

s "somestring"
这将做同样的事情


我该怎么做?我是linux新手。

您的示例表明变量是搜索字符串。您可以定义一个函数:

s() {
  grep -r -- "$1" /workplace/scripts /workplace/server
}
并引用它说:

s "somestring"

您的示例表明该变量是搜索字符串。您可以定义一个函数:

s() {
  grep -r -- "$1" /workplace/scripts /workplace/server
}
并引用它说:

s "somestring"

你用的是什么外壳?bash?我已经安装了zsh。我可以将此命令设置为别名吗?您使用的是什么shell?bash?我已经安装了zsh。我可以将此命令设置为别名吗?在哪里定义此函数?在my.zshrc中?如果您希望它是永久的,那么在shell提示符下的
.zshrc
中运行得非常好。我有一个后续问题。是否可以输入不带引号的“somestring”,然后让函数s将其转换为字符串?@sublime如果搜索的是单个单词,则不需要引用它。@sublime如果是多个单词,则可以使用
$*
而不是
$1
s(){grep-r“$*”/w/scr/w/srv}
。然后您可以像这样调用它
s一些较长的字符串
,grep将被
调用为“一些较长的字符串”
。注意:多个空格(包括制表符)将被压缩为一个空格。因此,您不能用它查找更多的空间,因为它将转换为更多的空间。我在哪里定义此函数?在my.zshrc中?如果您希望它是永久的,那么在shell提示符下的
.zshrc
中运行得非常好。我有一个后续问题。是否可以输入不带引号的“somestring”,然后让函数s将其转换为字符串?@sublime如果搜索的是单个单词,则不需要引用它。@sublime如果是多个单词,则可以使用
$*
而不是
$1
s(){grep-r“$*”/w/scr/w/srv}
。然后您可以像这样调用它
s一些较长的字符串
,grep将被
调用为“一些较长的字符串”
。注意:多个空格(包括制表符)将被压缩为一个空格。因此,您不能用它查找更多的空间,因为它将转换为更多的空间。