Takma ad olarak nasıl kullanılır?


11

OpenSUSE 11.3 kullanırken, önceden ayarlanmış birkaç takma ad ile geldi. Çok kullandığım iki şey +için pushd .ve -içindi popd. Şimdi Debian'da ikincisini nasıl oluşturacağımı anlayamıyorum. diğer ad için bir komut seçeneği olarak alias -=popdokumaya çalışır -=. Etrafına tırnak (hem tek hem de çift) koyarak denedim ve bir ters eğik çizgi ile önce, ama sadece hata mesajları almaya devam. Herhangi bir öneri?

Teşekkürler

Yanıtlar:


12

bunu dene:

alias -- -=popd

en azından benim için çalıştı:

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

Teşekkürler, mükemmel çalışıyor. --Tam olarak ne yapar ?
Kurt

4
@Wolf: Çoğu komut --için seçeneklerin sonunu işaretler; ondan sonraki her şey argüman. Örneğin, logger foo -x bar"foo bar" günlüğünü -xkaydeder ve seçenek olarak davranırken , logger -- foo -x bar"foo -x bar" mesajında ​​sıradan bir kelime olarak ele alır.
user1686

1
--Artık seçenekler aşağıda, komut satırında takip ettiğini belirten -'ın seçenekleri olarak yorumlanmaz. Böylece bu ;-) catile başlayan dosyalara izin verir-
binfalse

@grawity ve @binfalse: Açıklama için teşekkürler, bu çok yardımcı oldu! Bilmek çok güzel.
Kurt

7

İçinde bashşu şekilde adlandırılan işlevler oluşturabilirsiniz:

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

nedir $@?
Lazer

2
@Lazer: sh ve bash $@işlevine veya komut dosyasına verilen tüm bağımsız değişkenlere genişler. Çekilmemiş olarak olduğu gibi çalışır $*. Bununla birlikte, çift tırnak içine alındığında, herhangi bir ek bölünme olmadan orijinal olarak verilen kelimelere tam olarak genişler .
user1686

@Lazer: $@işleve iletilen tüm parametrelere genişler (eşdeğer "$1" "$2" ...). Daha fazla bilgi man bashiçin Özel Parametreler yapın ve arayın.
André Paramés
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.