Linux

如何把它變成別名?

  • October 26, 2016

我經常使用這個命令:

grep -rnw 驢 | grep 市場 | 剪切-c -80

如何在 Linux 上將其更改為別名?

我試過:

alias search='grep -rnw $1 | grep $2 | cut -c -200'

但是當我執行它時

search hello world

它給了我:

cut: Usage: grep [OPTION]... PATTERN [FILE]...
hello: No such file or directory
cut: Try 'grep --help' for more information.
world: No such file or directory
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.

不幸的是,bash 別名不像其他一些 shell 那樣接受參數。

但是您可以通過將搜尋聲明為可以添加到.bashrc文件中的功能來解決它

function search { grep -rnw $1 | grep $2 | cut -c -200; }
export -f search

請參閱:製作帶有參數的 bash 別名

在連結中,該範例使用了一個似乎不必要的別名。您可以將帶有export -f搜尋的功能直接放入.bashrc並將該功能命名為搜尋。

如果一切都失敗了,另一種選擇是編寫一個名為 search 的腳本。

例如,創建一個名為的腳本search,其中包含:

#!/bin/sh
grep -rnw $1 | grep $2 | cut -c -200;

$PATH將其放置在/usr/bin 之類定義的路徑中,或者可能 $ HOME/bin. If using $ HOME/bin 將該路徑放在您的環境中。

export PATH=$PATH:$HOME/bin

引用自:https://serverfault.com/questions/811511