Diğer yanıtlarda açıklandığı gibi, dizini değiştirdiniz, ancak yalnızca komut dosyasını çalıştıran alt kabukta . bu ana kabuğu etkilemez.
Bir çözüm bash script ( ) yerine bash işlevlerini kullanmaktır sh
; bash kodunuzu bir fonksiyona yerleştirerek. Bu, işlevi bir komut olarak kullanılabilir hale getirir ve daha sonra, bu bir alt işlem olmadan yürütülür ve böylece herhangi bir cd
komut arayan kabuğunu etkiler.
Bash fonksiyonları:
Bash profilinin bir özelliği, uygulama / komutları çalıştırdığınız gibi terminalde veya bash komut dosyalarında çalıştırılabilen özel işlevleri depolamaktır ve bu da uzun komutlar için kısayol olarak kullanılabilir.
İşlev etkin sisteminizi yaygın bir şekilde yapmak için, birkaç dosyanın sonunda işlevinizi kopyalamanız gerekir.
/home/user/.bashrc
/home/user/.bash_profile
/root/.bashrc
/root/.bash_profile
Bu sudo kwrite /home/user/.bashrc /home/user/.bash_profile /root/.bashrc /root/.bash_profile
dosyaları hızlı bir şekilde düzenleyebilir / oluşturabilirsiniz
Nasıl :
Bash komut dosyası kodunuzu bash profil dosyanızın sonundaki yeni bir işlevin içine kopyalayın ve terminalinizi yeniden başlatın, daha sonra cdd
veya yazdığınız işlev ne olursa olsun çalıştırabilirsiniz .
Senaryo Örneği
Kısayol yapma cd ..
ilecdd
cdd() {
cd ..
}
ls kısayolu
ll() {
ls -l -h
}
ls kısayolu
lll() {
ls -l -h -a
}