Pytania otagowane jako shell-script

Pytania dotyczące skryptów powłoki, plików wykonywalnych interpretowanych przez powłokę (bash, zsh itp.).

8
Analiza przypadku na podstawie warunku if
Szukam sposobu, aby nastąpił upadek w oparciu o warunek if w warunku case w bash. Na przykład: input="foo" VAR="1" case $input in foo) if [ $VAR = "1" ]; then # perform fallthrough else # do not perform fallthrough fi ;; *) echo "fallthrough worked!" ;; esac W powyższym kodzie, …

3
Jak w skrypcie powłoki mogę (1) uruchomić polecenie w tle (2) czekać x sekund (3) uruchomić drugie polecenie, gdy to polecenie jest uruchomione?
Oto, co muszę zrobić: rozpocznij proces A w tle poczekaj x sekund rozpocznij proces B na pierwszym planie Jak mogę sprawić, że zacznie się czekać? Widzę, że „sen” wydaje się zatrzymywać wszystko i nie chcę tak naprawdę „czekać”, aż proces A zakończy się całkowicie. Widziałem pewne pętle oparte na czasie, …

2
Co oznacza %% w nazwie funkcji?
Patrząc na wynik envzauważyłem, że jest też następująca funkcja. BASH_FUNC_mc%%=() { . /usr/share/mc/mc-wrapper.sh } Zawartość pliku /usr/share/mc/mc-wrapper.sh jest następująca. MC_USER=`id | sed 's/[^(]*(//;s/).*//'` MC_PWD_FILE="${TMPDIR-/tmp}/mc-$MC_USER/mc.pwd.$$" /usr/bin/mc -P "$MC_PWD_FILE" "$@" if test -r "$MC_PWD_FILE"; then MC_PWD="`cat "$MC_PWD_FILE"`" if test -n "$MC_PWD" && test -d "$MC_PWD"; then cd "$MC_PWD" fi unset MC_PWD fi …

1
Jak mogę przetestować niezawodność obsługi plików przez mój skrypt powłoki?
Napisałem skrypt powłoki, który obsługuje niektóre „zwykłe” nazwy plików, ale przeczytałem Dlaczego mój skrypt powłoki dusi się na białych znakach lub innych znakach specjalnych? i dlaczego nie powinieneś analizować danych wyjściowych ls i chciałbym, aby był bardziej niezawodny i obsługiwał dowolne prawidłowe nazwy plików (i / lub nazwy katalogów). Jak …

2
bash nie może przechowywać wartości szesnastkowej 0x00 w zmiennej
Próbuję zrobić kilka sztuczek z dd. Myślałem, że możliwe będzie przechowywanie niektórych wartości szesnastkowych w zmiennej o nazwie „nagłówek”, aby przesłać je do dd. Mój pierwszy krok bez zmiennej był następujący: $ echo -ne "\x36\xc9\xda\x00\xb4" |dd of=hex $ hd hex 00000000 36 c9 da 00 b4 |6....| 00000005 Potem próbowałem …
11 linux  bash  shell-script  dd 



11
Jak uzyskać ostatni argument do funkcji / bin / sh
Jaki jest lepszy sposób wdrożenia print_last_arg? #!/bin/sh print_last_arg () { eval "echo \${$#}" # this hurts } print_last_arg foo bar baz # baz (Gdyby tak było, powiedzmy, #!/usr/bin/zshzamiast #!/bin/shwiedzieć, co robić. Moim problemem jest znalezienie rozsądnego sposobu na wdrożenie tego #!/bin/sh.) EDYCJA: Powyższe to tylko głupi przykład. Moim celem nie …


3
Zdefiniuj zmienne o nazwie zmiennej
Co jest nie tak z tym skryptem? Próbuję zdefiniować A1 = 1, B1 = 1, C1 = 1 LIST="A B C" for x in $LIST do "$x"1=1 done a wynikiem jest: ./x.: line 7: A1=1: command not found ./x.: line 7: B1=1: command not found ./x.: line 7: C1=1: command …


6
Usuń linie z pliku w zależności od linii znalezionych w innym pliku
Plik file1.txt zawiera linie takie jak: /api/purchase/<hash>/index.html Na przykład: /api/purchase/12ab09f46/index.html Plik file2.csv zawiera linie takie jak: <hash>,timestamp,ip_address Na przykład: 12ab09f46,20150812235200,22.231.113.64 a77b3ff22,20150812235959,194.66.82.11 Chcę filtrować plik2.csv usuwając wszystkie wiersze, w których wartość skrótu jest obecna, również w pliku1.txt. To znaczy: cat file1.txt | extract <hash> | sed '/<hash>/d' file2.csv lub coś w …

4
Szybka metoda podziału łańcucha z pliku tekstowego?
Mam dwa pliki tekstowe: string.txt i lengths.txt String.txt: abcdefghijklmnopqrstuvwxyz lengths.txt 5 4 10 7 Chcę pobrać plik >Entry_1 abcde >Entry_2 fghi >Entry_3 jklmnopqrs >Entry_4 tuvwxyz Pracuję z około 28 000 wpisów, które różnią się między 200 a 56 000 znaków. W tej chwili używam: start=1 end=0 i=0 while read read_l …


3
Przejdź od ciągu do zestawu „słów” w Bash
Muszę przejść od ciągu do tablicy, w której każdy wpis to każde słowo w tym ciągu. Na przykład, zaczynając od: VotePedro="Vote for Pedro" Potrzebuję tablicy: Vote For Pedro Które powinienem być w stanie powtórzyć jako: for i in "${votePedroArray[@]}" do ## Do something done

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.