Linux
如何把它變成別名?
我經常使用這個命令:
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