Pytania otagowane jako arguments

Argument jest zwykle definiowany jako rzeczywista wartość przekazywana do funkcji, procedury lub programu wiersza poleceń.

4
Jaki jest cel używania shift w skryptach powłoki?
Natknąłem się na ten skrypt: #! /bin/bash if (( $# < 3 )); then echo "$0 old_string new_string file [file...]" exit 0 else ostr="$1"; shift nstr="$1"; shift fi echo "Replacing \"$ostr\" with \"$nstr\"" for file in $@; do if [ -f $file ]; then echo "Working with: $file" eval "sed …

7
Przekaż wynik poprzedniego polecenia do następnego jako argument
Mam polecenie, które wyprowadza dane do stdout ( command1 -p=aaa -v=bbb -i=4). Linia wyjściowa może mieć następującą wartość: rate (10%) - name: value - 10Kbps Chcę grepować ten wynik, aby zapisać tę „szybkość” (myślę, że fajka będzie tu przydatna). Na koniec chciałbym, aby ta szybkość była wartością parametru drugiego polecenia …

8
Przekazywanie nazwanych argumentów do skryptów powłoki
Czy jest jakiś prosty sposób na przekazanie (odbiór) nazwanych parametrów do skryptu powłoki? Na przykład, my_script -p_out '/some/path' -arg_1 '5' I w środku my_script.shotrzymuj je jako: # I believe this notation does not work, but is there anything close to it? p_out=$ARGUMENTS['p_out'] arg1=$ARGUMENTS['arg_1'] printf "The Argument p_out is %s" "$p_out" …

10
Dlaczego argv zawiera nazwę programu?
Typowe programy uniksowe / Linux akceptują dane z wiersza poleceń jako argument count ( int argc) i wektor argumentu ( char *argv[]). Pierwszym elementem argvjest nazwa programu - po nim rzeczywiste argumenty. Dlaczego nazwa programu jest przekazywana do pliku wykonywalnego jako argument? Czy są jakieś przykłady programów używających ich własnych …

8
Jaka jest różnica między $ * a $ @?
Rozważ następujący kod: foo () { echo $* } bar () { echo $@ } foo 1 2 3 4 bar 1 2 3 4 Wyprowadza: 1 2 3 4 1 2 3 4 Używam Ksh88, ale interesują mnie również inne popularne powłoki. Jeśli zdarzyło Ci się znać jakąś szczegółowość …
72 shell  quoting  ksh  arguments 

3
W jaki sposób curl chroni hasło przed pojawieniem się na wyjściu ps?
Jakiś czas temu zauważyłem, że nazwy użytkowników i hasła podane curljako argumenty wiersza poleceń nie pojawiają się w psdanych wyjściowych (chociaż oczywiście mogą pojawiać się w twojej historii bashów). Podobnie nie pojawiają się w /proc/PID/cmdline. (Można jednak określić długość połączonego argumentu nazwa użytkownika / hasło.) Pokaz poniżej: [root@localhost ~]# nc …




5
Lista argumentów jest za długa dla ls
Podczas próby otwarcia ls *.txt | wc -lkatalogu zawierającego wiele plików pojawia się następujący błąd : -bash: /bin/ls: Argument list too long Czy próg tej „listy argumentów” zależy od dystrybucji lub specyfikacji komputera? Zwykle przesyłam wynik tak dużego wyniku do niektórych innych poleceń ( wc -lna przykład), więc nie interesują …
48 ls  arguments 

3
Co określa maksymalny rozmiar pojedynczego argumentu polecenia?
Miałem wrażenie, że maksymalna długość pojedynczego argumentu nie była tutaj problemem, tyle że całkowity rozmiar ogólnej tablicy argumentów plus rozmiar środowiska, który jest ograniczony ARG_MAX. Pomyślałem więc, że coś takiego się powiedzie: env_size=$(cat /proc/$$/environ | wc -c) (( arg_size = $(getconf ARG_MAX) - $env_size - 100 )) /bin/echo $(tr -dc …
48 kernel  echo  arguments 

7
Czy `-` jest używane tylko z cd?
cd - można przełączać między bieżącym a poprzednim katalogiem. Wygląda na to, że widziałem -wcześniej jako argumenty innych poleceń, choć nie pamiętam, czy -oznacza to to samo co z cd. Odkryłem, że -to nie działa ls. Jest - używany tylko z cd?

7
Wiele argumentów w shebang
Zastanawiam się, czy istnieje ogólny sposób przekazywania wielu opcji do pliku wykonywalnego za pomocą linii shebang ( #!). Używam NixOS, a pierwsza część shebang w każdym skrypcie, który piszę, jest zwykle /usr/bin/env. Problem, z którym się wtedy spotykam, polega na tym, że wszystko, co następuje, jest interpretowane przez system jako …

3
Czy mogę połączyć pgrep z funkcją kill?
Zauważyłem, że |służy do przesyłania wyników pierwszego polecenia do drugiego. Chciałbym zabić wszystkie procesy, które pasują do nazwy. Oto co zwykle robi pgrep: $ pgrep name 5089 5105 Wydaje się, że działa wiele argumentów kill: sudo kill 5089 5105 Ale to źle: pgrep name | kill Jak to zrobić poprawnie?
31 shell  pipe  arguments 

2
Kiedy muszę podać add_efi_memmap jako argument jądra w rozruchu UEFI / EFI?
Czytam kilka samouczków, w jaki sposób EFI stub (efistub) ładuje jądro Linuksa. Te instrukcje często używają parametru rozruchu jądra add_efi_memmap. Zamierzonym sprzętem jest Intel x64 z 8 GB pamięci RAM. W mojej bieżącej konfiguracji jest uruchomiony program grub-efiładujący i jądro v3.13. GRUB bagażnika bez tej add_efi_memmapargumentu startowego: 23Linie BIOS-E820 zliczane …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.