私はエイリアスを持っています:alias gwanip=echo "$(dig +short myip.opendns.com @resolver1.opendns.com)
。これはbashrcを取得するたびにdigコマンドを実行することに気づいたことを除いてうまくいきます。機能を維持しながら(つまり、gwanipを呼び出す私のIPをエコーする)bashrcがソースされるたびに実行しないようにするにはどうすればよいですか?
答え1
ドル記号を避けるか、役に立たない部分を取り除くだけですecho $( ... )
。
alias gwanip="dig +short myip.opendns.com @resolver1.opendns.com"
または代わりにシェル関数を使用してください。
function gwanip {
dig +short myip.opendns.com @resolver1.opendns.com
}
shortdig
シェル関数を使用すると、より一般的な関数を作成して呼び出すこともできます。
function shortdig {
dig +short "$1" "$2"
}
function gwanip {
shortdig "myip.opendns.com" "@resolver1.opendns.com"
}
マニュアルにはbash
次の内容が含まれています。
ほとんどすべての目的で、エイリアスはシェル関数に置き換えられます。
答え2
ドル記号を取り除くだけです。