«shell» etiketlenmiş sorular

Kabuk Unix'in komut satırı arabirimidir. Kabuktaki komutları etkileşimli olarak yazabilir veya görevleri otomatikleştirmek için komut dosyaları yazabilirsiniz. / Bin / sh ve en uyumlu kabuklara (kül, bash, ksh, zsh,…) uygulanan sorular için bu etiketi kullanın. Hatalı kabuk komut dosyaları için lütfen buraya göndermeden önce http://shellcheck.net adresinden kontrol edin.

2
Borular, bir boru hattında veri akışı nasıl?
Verilerin boru hattında nasıl aktığını anlamıyorum ve birinin orada neler olduğunu açıklığa kavuşturmasını umuyorum. Komutlar dizisi dosyaları (metin, dizeler dizileri) satır sıraya göre işler. (Her komutun kendisi satır satır çalışır.) Her metin satırı boru hattından geçer, komutlar bir önceki öğenin tüm girişi işlemeyi bitirmesini beklemez. Ama öyle görünmüyor. İşte bir …

2
Birden fazla uzantıya sahip dosyaları kopyalama
Birden fazla uzantıya sahip dosyaları tek bir hedef dizine kopyalamak istiyorum. Örneğin , çalışma dizinindeki tüm .txt dosyalarını adı verilen bir dizine kopyalamak için aşağıdaki komutu kullanabilirim destination: cp -v *.txt destination/ Ve çalışma dizinindeki tüm .png dizinlerini kopyalamak için aşağıdakileri kullanabilirim destination: cp -v *.png destination/ Ancak, bunları ayrı …
22 bash  shell  wildcards  cp 

4
Sudo neden takma adları yok sayar?
Ubuntu 10.04 kullanıyorum upstartve daemon yönetimi için kullanıyorum . Kurumsal uygulamam bir arka plan programı olarak çalıştırılıyor ve çeşitli ayrıcalıklar nedeniyle kök olarak çalıştırılmalı. Örneğin: sudo start my-application-long-ID sudo stop my-application-long-ID etc aliasBu komutları aşağıdaki gibi kısaltmak için bir tanıtmak istiyorum: alias startapp='sudo start my-application-long-ID' ve startappbu şekilde çalışır ve …
22 shell  sudo  alias 


3
Tilde (~) çalışan unix dizini içinde
Bu yüzden bir UNIX ortamında çalışıyorum ve UNIX evimden mil uzakta olan çalışma dizinimde bir tane olduğunu fark ettim ~. Şimdi, geçmişte bir kez, rm -rf ~çalışma dizinimden çıktım ve ana dizimi tamamen sildim ve BT'yi dahil etmek zorunda kaldım. Bir daha yapmak istemiyorum. Aynı zamanda bilmek istiyorum Çalışma dizimde …
22 shell  filenames  home 

1
Linux: stdout ve stderr'i logger'a nasıl yönlendiririm?
Başlangıçta çalıştırmam gereken bir program var, stdout ve stderr'de çıktı var, logger komutunu kullanarak sistem günlüğüne yönlendirmek istiyorum. Başlangıç ​​betiğimde sahip olduğum şey şu: / home / dirname / application_name -v | logger 2> & 1 & Bu, stdout komutunu syslog dosyasına yönlendiriyor, ancak stderr konsola geliyor, bu yüzden komutu …

17
En az karakter içeren satır nasıl bulunur
Herhangi bir genel UNIX komutunu kullanarak bir kabuk betiği yazıyorum. En az karakter içeren satırı (boşluk dahil) almak zorundayım. 20 hatta kadar olabilir. head -$L | tail -1 | wc -mL satırının karakter sayısını bulmak için kullanabileceğimi biliyorum . Sorun şu ki, düşünebildiğim tek yöntem, bunu kullanarak, if ifadelerini el …

4
Linux, kabuk kodlarıyla nasıl baş eder?
Bu soru için, bir bash kabuk betiği düşünelim, ancak bu sorunun tüm kabuk betiği tipleri için geçerli olması gerekir. Birisi bir kabuk betiği çalıştırdığında , Linux tüm betiği bir kerede mi yüklüyor (belki belleğe) veya komut dosyası komutlarını tek tek okuyor mu (satır satır)? Başka bir deyişle, bir kabuk betiğini …

2
Manuel olarak başlatılmadığı sürece Bash .bashrc dosyasını okumaz.
bash.bashrcbir terminalden manuel olarak çalıştırmadığım sürece etkileşimli bir terminalden kaynak almayacak bash: $ bash veya elle kaynak: $ source ./.bashrc veya çalışıyor: $ st -e bash İşte bazı yararlı çıktı umarım: $ echo $TERM st-256color $ echo $SHELL /bin/sh $ readlink /bin/sh bash $ shopt login_shell login_shell off Ben CRUX …
22 linux  bash  shell  bashrc 

4
Neden hiç .bashrc / .bash_profile dosyasında shebang yok?
Basit sorgulama: Bir betiğin üstünde bir shebang görmedim .bashrc, bu da sistemin oturum açtıktan sonra kaynak yazmak için varsayılan kabuğu kullandığını düşünmeme neden oldu ${SHELL}. Neden böyle olduğunu düşünmek istiyorum, yani oturum açma komut dosyasını çalıştırmak için varsayılan kabuk dışında bir şey kullanmak kötü bir alışkanlık olarak kabul edilir.


4
Neden bazı komutlar terminali bitinceye kadar 'kapatıyor'?
Bazen, diyelim ki, terminalden bir programı çalıştırmak lxpanel† . Terminal sizi istemine bırakmayacak, askıda kalacak. Bilgi istemine geri dönmek için Ctrl+ tuşuna basabilirsiniz C, ancak bu ölecektir lxpanel. Bununla birlikte, Alt+ ' ya basıldığında F2(komut almak için bir pencere açılır) ve çalıştırma lxpaneldüzgün bir şekilde çalışır. Bu neden? Terminalden bir …

8
Yeni satırları boşluklara dönüştürmek için sed kullanma
Diyelim ki $stringbazı metinleri birkaç yeni satır içeren bir kabuk değişkenim var, örneğin: string="this is a test" Bu dizgiyi new_stringtüm satır sonlarının boşluklara dönüştürüldüğü yeni bir dizgeye dönüştürmek istiyorum: new_string="this is a test" Denedim: print $string | sed 's/\n/ /g' ama işe yaramadı Bunu kullanarak bunu yapmanın bir yolu perl …
22 shell  sed 


5
Tüm alt kabuklarda kullanılabilen ve değiştirilebilecek bir env değişkenini dışa aktarın?
Varsayalım ki export MY_VAR=0 içinde ~/.bashrc. Açılmış bir gnome terminalim var ve bu terminalde $MY_VARdeğeri değiştiriyorum 200. Eğer yaparsam echo $MY_VAR Bu terminalde 200gösterilmiştir. Şimdi, GNOME terminalimde başka bir sekme açtım ve echo $MY_VAR ... ve yerine 200, var 0. Bir terminal bir ortam değişkenini değiştirdiğinde, bu modifikasyonu (200'e ayarlayarak) …

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.