«bash» etiketlenmiş sorular

Bash (Bourne-Again SHell), varsayılan olarak Ubuntu'nun komut satırı arayüzünde kullanılan kabuktur.

2
Dosyaları silerken belirli dosyaları ve dizinleri hariç tutma
Üst düzey dizinim data. databirkaç dizin içerir ve bu dizinlerin alt dizinleri vardır. data/Bazı dizinlerde birkaç dosya dışında tüm dosyaları ve dizinleri kaldırmak gerekir . Örneğin, veriler dizinleri 100ve 101. Sadece tutmak istiyorum a.txtve b.txtdosyaları 100/ve c.txtve d.txtdosyaları 101/diğer tüm dosyaları ve dizinleri kaldırılırken 100ve 101. Misal: . ├── 100 …

4
Bir koşul başarısız olduğunda bash betiği nasıl durdurulur?
Burada , komutların yürütülmesini bitirmek için ||ve &&tek bir satırda kullanıldığını gösterir : Bir bash komut dosyasında apt-get hatalarını nasıl kontrol edebilirim? Belirli bir koşul başarısız olursa bir komut dosyası yürütmeyi durdurmaya çalışıyorum, Örneğin false || echo "Obvious error because its false on left" && exit Burada Obvious error because …

2
Yılı baştan sona taşımak için toplu yeniden adlandırma dizinleri
Şu anda bazı müzik klasörleriyle mücadele ediyorum. Bir keresinde desen aşağıdaki onlara isim verdi: artist - album - year. Bugün bunun akıllıca bir hamle olmadığını fark ettim ve şimdi dizinleri kalıbı takip ederek adlandırmak istiyorum: year - artist - albumlistelendiklerinde artan sırada görünecekler. Yeniden adlandırmayı elle yapmaya başladım, ancak yaklaşık …


5
Kabuk betiği kullanarak bir metin dosyasındaki değerleri sütunlu dosyaya yazdırma
Aşağıdaki gibi bir kabuk komut dosyası çalıştıran bir output.txt var: abc.txt errorstatus1 Fri Nov 11 02:00:09 2016 def.txt errorstatus2.txt Sat Nov 12 03:00:09 2016 Metin dosyası aynı şekilde satır satır birden çok giriş içerir. Bu değerleri sütunlara yazdırmak istiyorum: Dosya adı, Durum ve Zaman Damgası aşağıdaki gibi: Filename Status Timestamp …

3
Bir dizginin yalnızca bir kısmını bash içindeki bir değişkene atama
Kullanıcıdan belirli bir mutlak dosya yolu alıyorum ve dosya yolunun yalnızca İLK iki bileşenini içermeyen, ancak herhangi bir şey yazdırmadan bir dize olacak bir değişken oluşturmak istiyorum . Örneğin, mutlak yol şunlar olabilir: /home/myusername/folder1/folder2/folder3 Ve bu "target_path" kaydedilir ve "mydir" sadece olmasını istiyorum: /folder1/folder2/folder3 Cut komutunu farklı şekillerde kullanmayı denedim …

2
Gnome-Terminal'de yeni bir sekme açmak için bir komut veya herhangi bir sekmeli kabuk var mı?
Bir klavye kısayolu aramıyorum, bunun yerine bir komut istiyorum: Yeni Pencere Yeni sekme Geçerli sekmeyi veya pencereyi kapat Kabuk Penceresini Büyüt Kabuk Penceresini Küçült Kabuğu farklı bir çalışma alanına taşıma Anahtar Sekmesi Ve temelde böyle bir şey. Hatırlamak; Kısayollar değil, gerçek komutlar istiyorum. Bunun nedeni, takma ad işlevini kullanabilmem.


2
Ls [13] ve ls {1,3} arasındaki fark nedir?
Komut kullanarak dizinimde üç dosya oluşturdum touch inv{1..3}.txt. Şimdi iki komut kullandım ve çıktıları hemen hemen aynı. Bu iki komut ls inv[13].txtve ls {1,3}.txt. Peki bu ikisi nasıl farklı? Köşeli parantezler parantezlere göre nasıl farklıdır? Ayrıca "linux [..]" için googling yapıyordum, ancak hiçbir şey bulamadım, bu yüzden linux terminolojisinde bu …

2
Boşluklu dosya adlarını bağımsız değişken olarak nasıl iletebilirim?
Dize bağımsız değişkenlerini kabul eden bir Python komut dosyası var. $ python script.py "one image.jpg" "another image.jpg" Bu beklendiği gibi çalışır. Python argparse: ["one image.jpg", "another image.jpg"] Dosya adlarını iletmem gerekirse yapardım, $ python script.py $(ls "/some/dir/*.jpg") Python argparse: ["one", "image.jpg", "another", "image.jpg"] Kullanırsanız -Qbir lskomutla, ben çift tırnak arasında …

2
Exec zaman damgası = .desktop dosyası satırı mümkün mü?
Lubuntu 16.04 - Openbox oturumu Terminali, zaman damgalı bir dosyayı açmak için kullanabilirim gedit: gedit ~/$(date +%Y%m%d%H%M%S).txt Komut, Openbox'taki bir klavye kısayoluyla da kullanılabilir. <keybind key="W-4"> # gedit time-stamped file <action name="Execute"><command>sh -c 'gedit ~/$(date +%Y%m%d%H%M%S).txt'</command></action> </keybind> Ama aynısını Exec=bir .desktopdosya üzerinden yapamam . Exec=sh -c 'gedit ~/$(date +%Y%m%d%H%M%S).txt' sadece …
11 bash  .desktop 

4
Daha iyi düzenleme özelliklerine sahip kabuk
Kabuklar (en azından bildiklerim) gerçekten kötü komut düzenleme yeteneklerine sahip. Örneğin: İmleci komutun herhangi bir noktasına gösteremiyorum. Komuttaki metni seçip geri alamıyorum / silemiyorum / değiştiremiyorum. Şu anda bunlar çok dikkat dağıtıcı, komutları terminale yapıştırmadan önce düzenlemek için gedit kullanıyorum. Bunlar için iyi bir çözüm var mı?

3
Beklenmeyen belirteç `` 'yakınlarında sözdizimi hatası
Ubuntu terminalinde aşağıdaki kodu kullandığımda iyi çalışıyor: rm !(*.sh) -rf Ama aynı satır kodunu bir kabuk komut dosyasına (clean.sh) yerleştirir ve kabuk komut dosyasını terminalden çalıştırırsam, bir hata atar: clean.sh betiği: #!/bin/bash rm !(*.sh) -rf Aldığım hata: ./clean.sh: line 2: syntax error near unexpected token `(' ./clean.sh: line 2: `rm …


4
tr: kesme işaretini ASCII'ye dönüştür
Kullanarak bir kesme işareti sağ tek tırnak işareti dönüştürmek için çalışıyorum .tr tr "`echo -e '\xE2\x80\x99'`" "`echo -e '\x27'`" < a > b abu örneği içeren UTF-8 kodlu bir dosya verildiğinde : We’re not a different species “All alone?” Jeth mentioned. OS X BSD'yi kullanır trve hoş bir sonuç verir: …
11 bash  unicode  utf-8 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.