![作成後にエイリアスを実行する[閉じる]](https://linux33.com/image/117289/%E4%BD%9C%E6%88%90%E5%BE%8C%E3%81%AB%E3%82%A8%E3%82%A4%E3%83%AA%E3%82%A2%E3%82%B9%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
alias xxx=echo && xxx ok
後でエイリアスを使用できないため、機能しません&&
。しかし、1行のコードが私の仕事に最適です。
エイリアスを定義し、bashの同じ行で使用する方法は?
答え1
bash
マニュアルから:
エイリアスの定義と使用に関する規則は多少混乱しています。 Bash は、その行からコマンドを実行する前に、常に入力の行全体を 1 つ以上読みます。エイリアスは、コマンドの実行時ではなく、コマンドの読み込み時に拡張されます。 したがって、他のコマンドと同じ行に表示されるエイリアス定義は、次の入力行を読むまで適用されません。行のエイリアス定義の後に続くコマンドは、新しいエイリアスの影響を受けません。
これは他の多くのシェルでも同様です。
答え2
次の手順でシェルの制限を解決できます。
eval 'alias xxx=echo
xxx ok'