Aşağıdakileri yapmak için kısa bir işlev kurmak istiyorum. Diyelim ki 'file.tex' dosyasını belgeler dizinime taşıyorum:
mv file.tex ~/Documents
Sonra, cdbu dizine istiyorum :
cd ~/Documents
Bunu yapabilmek için bunu herhangi bir dizine genelleştirmek istiyorum:
mv file.tex ~/Documents
follow
ve followkomutun hedefi önceki komuttan okumasını sağlayın, ardından buna göre çalıştırın. Basit bir dizin için bu çok zaman kazandırmaz, ancak iç içe geçmiş dizinlerle çalışırken, yalnızca
mv file.tex ~/Documents/folder1/subfolder1
follow
Ben nispeten basit olacağını düşündüm ve böyle bir şey yapabileceğini:
follow()
{
place=`history 2 | sed -n '1p;1q' | rev | cut -d ' ' -f1 | rev`
cd $place
}
ama bu işe yaramıyor gibi görünüyor. Eğer yankı $placeyaparsam, istenen dizeyi alırım (ile test ediyorum ~/Documents), ancak son komut geri döner
No such file or directory
Dizin kesinlikle var. Kayboldum. Bana yardımcı olabilir misin?
cd alt + .yazın. Son jetonların tarihinde daha ileri gitmek için tekrarlayın. (Çünkü değil arg belirteci demek foo &kıskaçlar &Bir sayısal argüman kullanabilirsiniz nihai ifadesi olarak.) (Kaçış-3 alt + ile. Örneğin).
file.texOrijinal konumda sakıncası yoksa , sembollerin çok iyi bir alternatif olduğunu belirtmek isterim, çünkü sadece bir kez bağlantı kurmanız gerekir ve daha sonra her zaman en son sürüme işaret eder.