Merhaba, iyi günler. Arada Linux Kabuklarını öğrenmeye çalışıyorum. Aşağıda; “Linux Shells” dosyası içindeyken ana dizine gelip, oradan SDCard içindeki “Projeler” dosyasına gitmesini istediğim kısa bir kod yazdım.
!#bin/bash/
cd
ls /storage/A894-12FA/'Projeler'
cd /storage/A894-12FA/'Projeler'
Fakat ‘cd’ komutları çalışmıyor. Kod Editörde mavi olarak görülüyor. Farklı şekilde yazmayı, semboller koymayı denedim olmadı. Yardım edebilir misiniz?
ls komutu çalışmakta fakat ‘cd’ komutları çalışmamakta. Belki Bash’ın komut olarak anlayabilirceği bir sembol-yazım biçimi vardır diye düşünüyorum. Bu işte yeni sayılırım. Neyin ne olduğunu anlayamabilirim.
Dizin konusunda: Komut İstemcisi kendi dizindeki “Linux Shells” dosyasındayken. Ana Dizine geçip, belirtiğim yolu listelemsini ve oraya geçmesini istiyorum.
ls komutu çalışmakta çünkü siz ls komutuna bir klasör yolu vermişsiniz. Doğal olarak ls ile verdiğiniz path deki dosyaları size listeler.
Ama ilk cd komutuna hiç bir parametre vermediğinizde cd komut sizi hiç bir yere götürmez.
Herhangi bir dizine yada root dizinine geçmek isterseniz yolu/path i belirtmelisiniz. Ama farklı volume deki path i verecekseniz ilgili mount ettiğiniz volume’ü de vermelisiniz.
EDIT:
/dev/sdb1
gibi bağlı cihazınızın tam yolunu vermeniz gerekir desem daha anlaşılır belki. SD kartınızı nereye mount ettiğinizi sadece tahmin edebiliyorum. Emin olamayız. Ama özetle tam yolunu verirseniz cd komutuna ancak o durumda o dizine geçebilirsiniz.
Yanılıyor olabilirim. Eğer bu komut ile sd kartınıza erişebiliyor ve içindeki dosyaları listeleyebiliyorsanız sd karta erişiminiz var demektir.
Cd ile geçtiğinizde bu durumda sd kartınızın dizinine ulaşabiliyorsunuz demektir.
Komutun çalışmadığı düşüncesine nereden vardınız? Tekrar sadece "ls -l "komutu vererek bulunduğunuz klasördeki dosyaları listeletmeye çalışın. Eğer sd kart içindeki dosyalar listeleniyorsa bir problem yok demektir.
#!/bin/bash. Shell script’lerinin nasil yazildigini, hashbang/shebang’in ne oldugunu tekrar okumaniz lazim. Bu yanlis satiri herhangi bir kaynakta gorduyseniz o kaynagi terk edin ve bir daha donmeyin.
Iki kere CWD degistirmenize ragmen CWD’yi kullanmadiginizin farkindasiniz, degil mi?
Calismamak ne demek?
Veya, ne olmasini bekliyordunuz, ne oldu?
Bu noktada yazi rengi tercihlerinden bahsetme sebebiniz nedir?
Baska bir renk istiyorsaniz, ayarlardan degistirmeyi veya baska bir editor kullanmayi deneyebilirsiniz.
#!/bin/bash. Shell script’lerinin nasil yazildigini, hashbang/shebang’in ne oldugunu tekrar okumaniz lazim. Bu yanlis satiri herhangi bir kaynakta gorduyseniz o kaynagi terk edin ve bir daha donmeyin.
Konuyu açarken yazım yanlışı olmuş. Normalde sizin yazdığınız şekilde.
Iki kere CWD degistirmenize ragmen CWD’yi kullanmadiginizin farkindasiniz, degil mi?
Farkında değilim. İlk defa sizden duydum.
Calismamak ne demek?
Veya, ne olmasini bekliyordunuz, ne oldu?
Burada daha iyi bir şekilde anlattım.
Dizin konusunda: Komut İstemcisi kendi dizindeki “Linux Shells” dosyasındayken. Ana Dizine geçip, belirtiğim yolu listelemsini ve oraya geçmesini istiyorum.
Bu noktada yazi rengi tercihlerinden bahsetme sebebiniz nedir?
Baska bir renk istiyorsaniz, ayarlardan degistirmeyi veya baska bir editor kullanmayi deneyebilirsiniz.
Bahsetme sebebim “ls /storage/A894-12FA/‘Projeler’” kod kısmı Beyaz görünürken “cd” komutuyla başlayan kısımların Mavi ve Anahtar Kelime olarak görünmesi. Yukarıdaki ScreenShot’ta görebilirsiniz.
Script’i calistiran shell’in dizin degistirmesini bekliyorsaniz, bu mumkun degil. Bir program, baska bir programin CWD’sini degistiremez.
Kullandiginiz shell’de source veya . gibi bir komut varsa bunu kullanarak dosyanin icindeki komutlarin o shell’de calismasini saglayabilirsiniz. (Shebang satiri # ile basladigi icin kaale alinmayacaktir.)
Hangi editoru kullandiginizi ve nasil ayarlandigini bilmiyorum (screenshot’ta da gozukmuyor), fakat bunun sebebi cd’nin bir bash komutu olmasi olabilir.