Script yazarken kimi zaman çeşitli directoryler arasında gidip gelmek zorunda kalabiliyoruz. İşte sürekli kullandığımız klasörleri mini bir stack a kaydedip oradan çağırmamıza yarazan 3 adet komut pushd, popd ve dirs.
Dirs aslında basit stack i listeliyor.
pushd ile stack a bir mutlak path ekliyoruz ve oraya “cd ” yapıyoruz.
popd ilede stackten en baştaki path ı çıkarıyoruz ve oraya “cd” yapıyoruz.
Önce default mode
$ dirs -l -v
0 /home/can
Simdi pushd ile ekleyelim.
~$ pushd /etc/skel/
/etc/skel ~
/etc/skel$
Görüldüğü üzere hem stack i yazdı “/etc/skel ~” hemde oraya “cd” yaptıç Eğer “cd” yapmasını istemiyorsak “-n” opsiyonunu kullanabiliriz.
/etc/skel$ pushd -n /var/log/
/etc/skel /var/log/ ~
/etc/skel$
Şimdi dirs ile bir daha bakalım.
/etc/skel$ dirs -l -v
0 /etc/skel
1 /var/log/
2 /home/can
Bu listede herhangi bir path a geri dönmek istersek “+N” opsiyonunu kullanıyoruzç
/etc/skel$ pushd +2
~ /etc/skel /var/log/
~$
popd ise opsiyonsuz olarak kullanıldığında listenin en başındaki path ı listeden siliyor ve oraya “cd” yapıyor.
opsiyon olarak -n kullanırsak ilginç bir şekilde listenin ikinci elamanını siliyor ama “cd” yapmıyor.
~$ dirs -l -v
0 /home/can
1 /etc/skel
2 /var/log/
~$ popd -n
~ /var/log/
~$ dirs -l -v
0 /home/can
1 /var/log/
Doğrudan listeden birşey silmek için aynı “pushd” gibi “+N” opsiyonunu alabilir.
~$ popd +1
~
~$