«arguments» etiketlenmiş sorular

Bağımsız değişken genellikle bir işleve, yordama veya komut satırı programına iletilen gerçek değer olarak tanımlanır.

2
$ @ Bir konumsal parametre nasıl kaldırılır
Temel olarak, -infparametre listesinden ilk kez "koparmak" istiyorum . (Kalan parametreler farklı bir komuta iletilecektir.) Sahip olduğum komut dosyası aşağıdaki yapıya sahiptir: #!/bin/sh <CODE> for POSITIONAL_PARAM in "$@" do <CODE> if [ "$POSITIONAL_PARAM" = '-inf' ] then <PLUCK $POSITIONAL_PARAM FROM $@> break fi <CODE> done <CODE> some-other-command "$@" # end …

3
Komut seçenekleriyle komut enjeksiyonunu nasıl önleyebilirim?
Ben kullanıcı bir simülatör geçmek için özel seçenekleri belirtmek için izin gereken bir sarıcı uygulaması var. Ancak, kullanıcının kullanıcı seçenekleri aracılığıyla diğer komutları enjekte etmediğinden emin olmak istiyorum. Bunu başarmanın en iyi yolu nedir? Örneğin. Kullanıcı şunları sağlar: -a -b Uygulama yürütür: mysim --preset_opt -a -b Ancak bunun olmasını istemiyorum: …

4
Herhangi bir sipariş verilmezse bash komut dosyasında isteğe bağlı bağımsız değişkenleri nasıl ayrıştırırım?
Aşağıdaki program için bir bash betiği yazarken isteğe bağlı bağımsız değişkenler / bayraklar eklemek nasıl karıştı: Program iki argüman gerektirir: run_program --flag1 <value> --flag2 <value> Ancak, birkaç isteğe bağlı bayrak vardır: run_program --flag1 <value> --flag2 <value> --optflag1 <value> --optflag2 <value> --optflag3 <value> --optflag4 <value> --optflag5 <value> Ben kullanıcı argüman alır …


2
Parametre listesini oluşturmak için kullanılan bash dizesi birleştirme
Bu bash parçası verildiğinde: PARMS='-rvu' PARMS+=" --delete --exclude='.git'" echo $PARMS rsync ${PARMS} . ${TARGET} Yankı PARMS dizesini beklendiği gibi gösterir, hiçbir hata görüntülenmez, ancak rsync sessizce + = tarafından eklenen seçenekler mevcut değil gibi davranır. Ancak, bu beklendiği gibi çalışır: PARMS='-rvu' rsync ${PARMS} --delete --exclude='.git' . ${TARGET} Sanırım bash tırnaklarla …

3
Komut değiştirme ile başka bir komuta nasıl argüman oluşturabilirim
Bunu takiben: Kabuk komutu yerine koymada beklenmedik davranış Bazıları meşru bir şekilde boşluklar (ve muhtemelen başka şeyler) içerebilir argümanların büyük bir listesini alabilir bir komut var Tırnaklar ile benim için bu argümanları üretebilecek bir senaryo yazdım, ancak çıktıyı kopyalayıp yapıştırmalıyım. ./somecommand <output on stdout with quoting> ./othercommand some_args <output from …

3
Bir komut farklı argümanlarla tekrar tekrar nasıl çalıştırılır?
Ubuntu'dayım. Bazı argümanları kopyaladım (satırsonu ile ayrılmış) ve bunları yazdırmak için xsel'i kullanabilirim $ xsel arg1 arg2 arg3 arg4 ... Şimdi, bu argümanların her birini başka bir komut için kullanmak ve bu komutu argümanlar olduğu kadar çalıştırmak istiyorum. Ben de denedim $ xsel | mycommand "constantArgument" $1 Ancak, bu mycommandsadece …

3
Komut satırı bağımsız değişkenleri de dahil olmak üzere yürütülen tüm komutları günlüğe kaydetmenin kolay bir yolu var mı?
Nasıl rrdtoolalır yolun yanlış olup olmadığını görmek için belirli bir örnek günlüğü bulmak için çalışıyorum . Ben çalıştırılabilir parametreleri günlüğü bir kabuk komut dosyası sarmak olabilir biliyorum, ama bunu izlemek için belki daha belirli bir / proc / pid / exe görür bir dosya sistemi geri arama izlemek için çekirdeğe …
11 logs  proc  arguments  audit 


1
500 günden eski dosyaları sil
2010 yılından itibaren dosyaları ile dizin var .. 500 günden eski tüm dosyaları silmek istiyorum ve bunu denedim: find /var/log/arc/* -type f -mtime +500 -delete {}\; Ama bunu anladım: -bash: /usr/bin/find: Argument list too long Bildiğim gibi bu çok fazla dosya olduğu ve findbunları işleyemediği anlamına geliyor . Ama +20003 …

2
İşlevleri tam olarak olduğu gibi iletmek için bağımsız değişkenler iletme
Ben aşağıdaki işlevi var: bar() { echo $1:$2; } Bu işlevi başka bir işlevden çağırıyorum foo. fookendisi şöyle denir: foo "This is" a test Aşağıdaki çıktıyı almak istiyorum: This is:a Yani, alınan argümanlar barbenim geçirdiğim jetonlarla aynı olmalıdır foo. Bunu foobaşarmak için nasıl uygulanması gerekir? Aşağıdaki iki uygulamayı denedim, ancak …

3
Argüman olarak bulunan dosyaları argüman olarak nasıl aktarabilirim?
İlk önemsiz ama uygulanamaz cevapları kapalı kesim için: Ben ne kullanabilirsiniz find+ xargshile ne de (gibi varyasyonlarını findile -execben görüşme başına kaç tür ifadeleri kullanmak gerekir çünkü). Sonunda buna geri döneceğim. Şimdi daha iyi bir örnek için şunu düşünelim: $ find -L some/dir -name \*.abc | sort some/dir/1.abc some/dir/2.abc some/dir/a …

4
Bir kabuk betiği, kabuk istemine yazdığınız gibi aktarılan argümanını yazdırabilir mi?
Bir kabuk komut dosyasında, benim anlayışım, "$@"komut dosyası bağımsız değişkenlerine genişleyerek, bunları gerektiği gibi alıntılamaktır. Örneğin, bu komut dosyası argümanlarını gcc'ye iletir: gcc -fPIC "$@" Bash-to-stdin sözdizimini kullanırken <<<, "@$"beklediğim gibi çalışmıyor. #!/bin/bash cat <<< "$@" Olarak senaryoyu çağırma ./test.sh foo "bar baz"verir foo bar baz Beklemek isterim foo "bar …

4
Çoklu dizinleri find -prune seçeneğine aktarma
findYedek dosyaları bulmak ve silmek için kullanıyorum , ancak aramadan belirli dizinleri hariç tutmak istiyorum. Yedek dosya adları son bulabilir .bck, bak, ~, veya backup. Hariç tutulacak yalnızca üç dizin içeren Minimum Çalışma Örneği (MWE) kodu: #! /bin/bash find . -type d \( -path "./.*" -o -path "./Music" -o -path …


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.