使用方法-エイリアスとして?


11

openSUSE 11.3を使用していたとき、すでにいくつかのエイリアスが設定されていました。私がよく使った2つは+pushd .-ですpopd。現在Debianでは、2つ目の方法を作成する方法がわかりません。エイリアスのコマンドオプションとしてalias -=popd読み取ろうとします-=。引用符(シングルとダブルの両方)を付けて、その前にバックスラッシュを付けてみましたが、エラーメッセージが表示され続けるだけです。助言がありますか?

ありがとう

回答:


12

これを試して:

alias -- -=popd

少なくとも私のために働いた:

usr@srv % alias -- -=echo
usr@srv % - test
test

ありがとう、完全に動作します。--正確には何をしますか?
ウルフ、

4
@Wolf:ほとんどのコマンドで、--オプションの終わりを示します。それ以降はすべて引数です。たとえば、logger foo -x bar「foo bar」をログに記録-xしてオプションlogger -- foo -x barとして扱い、メッセージ「foo -x bar」では通常の単語として扱います。
user1686 2011

1
--これ以上のオプションは、次の、コマンドラインに従っていないことを示している-のは、オプションとして解釈されていません。したがって、これは;-) catで始まるファイルを許可します-
binfalse

@grawityと@binfalse:説明ありがとうございます。知ってとても良い。
ウルフ

7

では、bash次のような名前の関数を作成できます。

+() { pushd "$@"; }
-() { popd "$@"; }

なに$@
Lazer、2011

2
@Lazer:shおよびbashでは$@、関数またはスクリプトに与えられたすべての引数に展開されます。引用符で囲まれていない場合、と同じように機能し$*ます。ただし、二重引用符内にある場合は、追加の分割なしで、最初に指定されたものとまったく同じ単語に展開されます。
user1686 2011

@Lazer:$@関数に渡されるすべてのパラメーターに展開されます(と同等"$1" "$2" ...)。詳細についてはman bash、「特殊パラメーター」を実行して検索してください。
アンドレ・Paramés
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.