«shell-script» etiketlenmiş sorular

Kabuk komut dosyaları, kabuk tarafından yorumlanan yürütülebilir dosyalar (bash, zsh, vb.) İle ilgili sorular.

9
Shebang olarak “#! / Path / to / NAME” yerine “#! / Usr / bin / env NAME” kullanmak neden daha iyi?
Başkalarından edindiğim bazı betiklerin shebang'a sahip olduğunu, #!/path/to/NAMEdiğerleri ise (aynı aracı kullanan NAME) shebang'ın olduğunu fark ettim #!/usr/bin/env NAME. Her ikisi de düzgün çalışıyor gibi görünüyor. Derslerde (örneğin Python'da), ikinci shebang'ın daha iyi olduğu yönünde bir öneri var gibi görünüyor. Ancak bunun neden böyle olduğunu tam olarak anlamadım. İkinci shebang'ı …

3
Kodlarda değişken ataması için “$ {a: -b}” kullanımı
Diğer insanların yazdığı birkaç senaryoya bakıyordum (özellikle Red Hat) ve değişkenlerinin çoğu aşağıdaki gösterim kullanılarak atanmış VARIABLE1="${VARIABLE1:-some_val}" veya bazıları diğer değişkenleri genişletmiş VARIABLE2="${VARIABLE2:-`echo $VARIABLE1`}" Yalnızca bu değerleri doğrudan beyan etmek yerine (ör. VARIABLE1=some_val) Bu gösterimi kullanmanın amacı nedir? Bu gösterimin faydaları veya önlenebilecek olası hatalar var mı? :-Bu bağlamda özel …



23
Harici IP adresimi bir kabuk betiğinde nasıl alabilirim?
Harici IP adresimi bir kabuk betiğinden bulmam gerekiyor. Şu anda bu işlevi kullanıyorum: myip () { lwp-request -o text checkip.dyndns.org | awk '{ print $NF }' } Ama bağlıdır perl-libwww, perl-html-format, perl-html-treeyüklü. Harici IP adresimi başka hangi yollardan alabilirim?
273 linux  shell-script  ip 

3
Sh komut dosyasında sed kullanırken kaçmak için hangi karakterlere ihtiyacım var?
Aşağıdaki betiği alın: #!/bin/sh sed 's/(127\.0\.1\.1)\s/\1/' [some file] Bunu sh( dashburada) çalıştırmayı denersem, kaçması gereken parantezler nedeniyle başarısız olur. Ama yok (sekizli arasındaki veya tersbölülerle kendilerini kaçmak gerekir \sya \1). Buradaki kural nedir? Ne zaman ihtiyacım olacak {...}veya [...]? Yaptıklarımın ve kaçmaya gerek olmadıklarımın bir listesi var mı?



3
Bir dosyanın içeriğini boşalt
Bir dosyadaki tüm girdileri silmek için üç yöntemden haberdarım. Onlar >filename touch filename filename < /dev/null Bu üçünden >filename, en az sayıda tuşa basılmasını gerektiren en çok suistimal ediyorum . Bununla birlikte, büyük günlük dosyalarına ve küçük dosyalara göre, üçünün hangisinin daha verimli olduğunu (daha verimli yöntemler varsa) bilmek istiyorum. …

3
Bash / POSIX mermilerinde bir değişken vermeyi unutmanın güvenlik etkileri
Eğer unix.stackexchange.com’u bir süredir takip ediyorsanız echo $var, Bourne / POSIX mermilerinde liste içeriğinde (içinde olduğu gibi ) değişken olmayan bir değişkeni bırakmanın çok özel bir anlamı olduğunu ve umarım ki çok iyi bir nedeniniz olmadığı sürece yapılmamalı. Q & burada A (Örnekler bir dizi uzun uzadıya tartışıldı oluyor: ? …


12
Birden fazla dosyanın uzantısını nasıl değiştiririm?
Ben bir dosya uzantısını değiştirmek istiyorum *.txtiçin *.text. basenameKomutu kullanmayı denedim , ancak birden fazla dosyayı değiştirmekle ilgili sorun yaşıyorum. İşte kodum: files=`ls -1 *.txt` for x in $files do mv $x "`basename $files .txt`.text" done Bu hatayı alıyorum: basename: too many arguments Try basename --help' for more information




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.