.bashrc takma adları farklı dosyadan yükleme


11

Bir .aliases dosyasından takma adları okur ve onları ayarlar böylece kurmak istediğiniz bir .bashrc dosyası var.

Şu anda var:

# User specific aliases and functions
while read alias_line
do
        echo `alias ${alias_line}`
done < .aliases

Ancak giriş yaptıktan sonra:

-bash: takma ad: -fu: bulunamadı -bash: takma ad: $ USER ": bulunamadı

-bash: alias: -lart ": bulunamadı

.Aliases dosyası şöyledir:

psu = "ps -fu $ USER" ll = "ls -lart"
pico = 'nano'

Yanıtlar:


13

Kullandığınızda alias ${alias_line}, değişken boşluklarda kesilir ve tırnak kuralları dikkate alınmaz.

Bunu düzeltmenin iki yolu vardır:

  • Takma ad dosyasındaki tüm alıntıları kaldırın:

    ll=ls -lart
    psu=ps -fu $USER
    

    ve değişkenin kendisini tırnak içine alır:

    alias "$alias_line"

    Bu işe yarar çünkü bash ll="ls -lart"ve "ll=ls -lart"tam olarak eşdeğerdir.

  • Alternatif olarak (bu daha iyi ve daha yaygın bir yoldur), aliaskomutları olan bir dosyaya sahip olun ve içe aktarmak için .yerleşik (aka source) kullanın.

    alias pico='nano'
    alias psu='ps x'
    alias ll='ls -lart'
    

    o zaman ~/.bashrc:

    . ~/.aliases

İkinci yöntem daha iyidir , çünkü sizi takma adlarla sınırlamaz, aynı zamanda çok daha güçlü işlevlerin tanımlanmasına da izin verir .


Doğru. Bu tamamen yanlış bir yaklaşımdı. Ben bu komutları kullanarak kendim yaptım: okuma satırı; echo "alias $ line" >> .aliases_full; sonra <m.aliases_full .aliases yaptım. ./.aliases #in .bashrc Yine de teşekkürler :)
Vladimir
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.