一度に複数のシェルエイリアスを作成する


8

たとえば、catコマンドのように、さまざまなスペルのバリエーションをエイリアスに挿入したい。「または」の記号を使用してそれを行うことはできますか、それとも新しい行に置く必要がありますか?

alias at|cart|cst '/bin/cat'

7
私が持っている1つのエイリアスをalias kk='ll'
思い出し

14
atエイリアスとして使用することはお勧めしませんcatatスケジュールを設定するための実際のコマンドがあります:askubuntu.com/a/339301/295286
Sergiy Kolodyazhnyy

回答:


17

のヘルプaliasは、複数のエイリアスを一度に割り当てることができることを示しています。

alias: alias [-p] [name[=value] ... ]
    Define or display aliases.

    Without arguments, `alias' prints the list of aliases in the reusable
    form `alias NAME=VALUE' on standard output.

    Otherwise, an alias is defined for each NAME whose VALUE is given.
    A trailing space in VALUE causes the next word to be checked for
    alias substitution when the alias is expanded.

したがって、ブレース展開を使用してname=valueペアを生成できます。

alias {at,cart,cst}='/bin/cat'

そう:

$ alias {at,cart,cst}='/bin/cat'
$ type at cart cst
at is aliased to `/bin/cat'
cart is aliased to `/bin/cat'
cst is aliased to `/bin/cat'

とはいえ、誤植の修正組み込まれているzshを調べてください(これはには役立ちませんatが、他のユーザーには役立ちます)。

% setopt correct
% sl
zsh: correct `sl' to `ls' [nyae]? y
% setopt correctall
% ls x.v11r4
zsh: correct `x.v11r4' to `X.V11R4' [nyae]? n
/usr/princton/src/x.v11r4 not found
% ls /etc/paswd
zsh: correct to `/etc/paswd' to `/etc/passwd' [nyae]? y
/etc/passwd

yシェルが単語を修正するかどうかを尋ねてきたときにを押すと、単語が修正されます。を押すとn、そのままになります。を押すとaコマンドは中止され、を押すとeその行が再び編集できるようになります。単語のスペルが間違っていることに同意しても、訂正が気に入​​らない場合があります。


7

一度に複数のエイリアスを割り当てることはできないと思います。
しかし、次のようなリストをループできます。

for a in cart xat vat xst cst vst dog; do alias "$a"='/bin/cat'; done

エイリアスが他のプログラムですでに使用されていないことを確認してください(at例のよう に)。


それがうまくいく答えをありがとう。Linuxマシンの1つをデフォルトとしてtschで使用しています。私はこれを試しました:foreach x(cst cart); alias $ x = '/ bin / cat'; end。
Josef Klimuk、2018年

2
@JosefKlimuk:それはそれ自身の答えの価値があるように聞こえます。:-)
デビッドフォースター

@David Foerster、私はそれを独立した質問として尋ねるべきですか?
Josef Klimuk、2018年

2
@JosefKlimuk:いいえ。以前のコメントに基づいて、この質問に対する適切な回答を書く必要があることを意味します。
David Foerster、2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.