Neden sudo cd yazarsak dizini değiştiremezsin?
Neden sudo cd yazarsak dizini değiştiremezsin?
Yanıtlar:
cdyerleşik bir kabuktur. sudosadece çalıştırılabilirlerle çalışır. Yapabilirsin sudo sh -c 'cd dirname'ama kabuk çıkar çıkmaz, başladığın dizine geri dönersin. Neyi başarmaya çalıştığınızı söylerseniz, bunu yapmanın bir yolunu bulmanıza yardımcı olabilirim.
sudo pwdda işe yaramayacak mıydı? (Hep bunu düşündüm sudo cd yapar işi, ancak hemen sonra sonuç görmüyoruz sudogetiri. Ama bu sadece bir tahmin. Belki de değildi, cdne de pwdaslında yerleşik Bash Mac. Running Hangi which cd yok aslında bana sonuçları verir. Koşu sudo cd /bana bir hata vermez, ama gerçekten de değişen bir çalışma diziniyle sonuçlanmaz.)
pwdAyrıca harici bir çalıştırılabilir olduğundan çalışacaktır. Bazı sistemlerde cdçalıştırılabilir bir dosya olduğunu unutmayın, ancak çoğunlukla işe yaramaz. Bu arada, type -a cdçok daha bilgilendirici kullanmayı deneyin which.
type -a cdHer iki gösterir cd is a shell builtinve cd is /usr/bin/cdbenim Mac üzerinde. Ve aynı şekilde pwdve echo. Ve her ikisi de sudo pwdve sudo echo "Hello world"bana bir sonuç vermek yok. Ancak, type -a returnsadece verim return is a shell builtinve sudo return 3bana gösterir sudo: return: command not found. Öyleyse, sanırım soru şudur: OP bir hata mesajı alıyor mu, yoksa OP cdherhangi bir hata yapmadan işi görmüyor mu? (Veya: OP kullanan OP nedir?)
sudo sh -c 'cd dirname'benim için hiçbir şey yapmaz.
cd. Ve mevcut kabuğun bir cdkomutu olmadığında başarısızlık yerine hiçbir şey yapamaz . Hiç insanlar tarafından kullanılıyor olabilir Herhangi kabuk vardır cddahil /bin/sh. Ancak işletim sistemi çekirdeğinden görülen bir kabuk , sadece birkaç satır koddan bile daha basit olabilir. Bkz . cdHarici komutun amacı nedir ?
Bunun yerine, sudo -sbir kök kabuğunu başlatmak için kullanmayı ve ardından cddizine girmeyi deneyin .
Kök olarak işiniz bittiğinde, tuşuna basın CtrlDveya yazın exit.
Arjan aşağıdaki yorumunda işaret ettiğinden, kök olarak, temel sistem bileşenlerine kolayca zarar verebileceğini not etmek önemlidir. Dikkatli kullanın!