C dosyaları hazırlayıp derlemek yerine direk Bash yani terminalin kendisinde de böyle bir özellik var.
alias
alias ile bir kelimeye istediğiniz komutlar silsilesini atayabilirsiniz. Örneğin:
alias guncelle='sudo apt update && sudo apt upgrade -y'
alias eveGit='cd ~/`
gibi. Bunları sadece örnek olsun diye yazdım. Buraya çok daha kullanışlı ve kendinize özelleştirilmiş komutlar girebilirsiniz.
Bu şekilde tanımladıktan sonra tek yazmanız gereken:
guncelle
Örneğin her gün çalıştırdığınız bir komutlar topluluğu varsa onlara tek bir alias verip tek bir kelime ile çalıştırabilirsiniz.
Not: Terminal ekranında alias ile oluşturduğunuz kısayol o terminal ekranına hastır. Başka terminal ekranında çağrılamaz.
Bu yüzden alias komutunu .bashrc'ye eklemeniz gerek. .bashrc her terminal açtığınızda ilk çalıştırılan dosyadır.
Örneğin: .bashrc: dosyasını açın ve en altına aliasınızı ekleyin.
...
...
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
# en sona kendi aliasımızı ekleyelim:
alias guncelle='sudo apt update && sudo apt upgrade -y'
Sormak istediğim, bu komutla her gün otomatik yapacak şekilde güncellediğimizde, kendisi komutu başlangıçta otomatik çalıştıracak ama şifre de isteyecek. O nasıl olur diye anlayamadım.
2-
Bunun için de sudo istemedi. Doğrudan çalıştırdı, konuyu açmadan önce denedim onu.
3- C programlama ile oluşturduğumuzda, daha sonra dosyayı silersek komut da gider. alias ile oluşturduğumuz komutu daha sonra silmek veya değiştirmek istersek ne yapacağız?
Her gün otomatik olarak bir komutun çalışmasını bu iki yöntem de sağlamaz. Bu yaptığımız uzun komutları tek bir kelime ile çalıştırmak için bir kısayol atamak sadece.
Öncesinde sudo ile bir komut çalıştırdığınız için istememiş. Terminalinizi kapatıp yeni bir terminal açın ve o zaman programı çalıştırın isteyecektir. Root yetkilerini siz vermeden program kendi kendine sahip olamaz. Öyle olsa root yetkisi diye bir şey olmasının bir manası kalmayacak. sudo komutu kısa bir sürede ikinci üçüncü defa çağırıldığında şifre istemiyor.
alias ile atadığınız kelimeyi artık kullanmak istemiyorsanız ~/.bashrc den silmeniz yeterli. Bir sonraki terminal ekranında tanımlı olmayacaktır.
Az önce denerken alias guncelle='sudo apt-get update && sudo apt-get upgrade && sudo apt-get autoremove' komutuyla tanımladım. Terminali kapatıp açtıktan sonra tekrar çalışmadı.
Nerede hata yaptım?
pardus@pardus:~$ guncelle
bash: guncelle: komut yok
terminalin içinde alias ile tanımladığınız kısayol o pencere açıkken kalır sadece. Her terminalde kullanmak için .bashrc’nin sonuna eklemelisiniz diye yazmıştım.
Ben o ifadeyi her terminali açınca değil de, her bilgisayarı açınca diye anlamışım, kusura bakmayın. Ondan yukarıdaki soruları da sormuştum. Tamam, şimdi oturdu kafamda…
Üstteki gönderiyi böyle de yapabiliriz diye koymadım. Böyle de oluyor mu diye sormak için yazdım. Yanlış anlaşılıp arada kaynamasın. sistem dosyası olunca, böyle yazdırabiliyor muyuz diye merak ettim?
Denedim kontrol ettim. kod içine -e de ekledim yoksa alt satıra geçmeyip kodun başına \n olarak ekliyordu.
Üstteki kodu da düzelttim. Mevcut hali son hali.