複数の一時エイリアスを作成する


9

私はrootユーザーではないため、すべてのエイリアスが作成されたグローバルエイリアスファイルにアクセスできませんが、ログインしているセッションでのみアクティブなエイリアスをいくつか作成します。コマンドalias x='cd /parent/child'を使用して、xコンソールで入力するだけで使用できるエイリアス&dirを/ Parent / Childに変更します。

ただし、複数のエイリアスを作成したいし、作成するエイリアスを毎回入力する必要もありません。

すべてのalias = 'do this'行をファイルに入れて(777権限を付与)、ファイルを実行すると、これらのすべてのエイリアスがログインするたびに作成されることを期待しました。しかし、それは起こりませんでした。

例:

alias x='cd /parent/child'
alias y='cd /a/b/c'
alias z='tail -0f some.log'

私もファイルでこれを試しましたが無駄でした:

alias x='cd /parent/child';alias y='cd /a/b/c';alias z='tail -0f some.log'

私が試したエイリアス名は、グローバルエイリアスにすでに存在していませんでした。(エイリアスを入力して、画面に出力を見ました)。


すべてのエイリアスを.bashrcファイルに入れることができます。
cuonglm 2014

@Webナッシュ:しかし、あなたが別のコマンドに異なる引数を渡したい場合は、これは動作しません
Thushi

回答:


12

すべてのセッションエイリアスをファイルに生成します(例:alias.txt)。

alias x='cd /parent/child'
alias y='cd /a/b/c'
alias z='tail -0f some.log'

次に使用します

 . ./alias.txt

この単一のセッションでは、エイリアスリストにすべてのエイリアスを含める必要があります。

編集:

必ず使用してください

. ./alias.txt

ない

./alias.txt

前者の場合、コンテンツは「入力されたかのように」読み取られますが、後者の場合は、終了するシェルでエイリアスを定義します。


この質問を投稿する前に、私は最初に同様のことをしました。テキストファイルの代わりに、これらの行を拡張子なしのファイルに入れただけで、機能しませんでした。しかし、.txt拡張子を付けて試しても動作しません
Web Nash

それは完璧に働きました。どうもありがとうございます。これら3つの形式の使用の違いがわかりませんでした1)alias.txt 2)./alias.txt 3)。./alias.txt
Web Nash

フォーム1)と2)は、の場合に同等です。$ PATHにあります。thayは新しいシェルを基本的に呼び出し、コマンドを実行します。ほとんどの場合これで問題ありませんが、エイリアスまたは関数が必要な場合は、シェルが終了すると定義が消えます。
Archemar 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.