Pytania otagowane jako shell-script

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

4
Logiczne ORAZ w skrypcie bash
Mam ifw swoim skrypcie bash, który musi sprawdzić, czy JESZCZE z 2 plików istnieje, jeśli nie istnieją, powinien pasować do echa. Kod mam: if [[ ! -f /etc/benchmarking/code ]] && [[ ! -f /etc/benchmarking/code.class ]]; then echo "match" fi Ale to z jakiegoś powodu nie działa. Jestem 110% pewien, że …

5
Jak mogę profilować skrypt powłoki?
Mam kilka programów, które uruchamiam w skrypcie powłoki: ./myprogram1 ./myprogram2 ... Wiem, że mogę profilować każdy program, edytując kod źródłowy, ale chciałem wiedzieć, czy istnieje sposób, aby zmierzyć całkowity czas wykonywany przez profilowanie samego skryptu. Czy istnieje program czasowy, którego można użyć do tego celu? Jeśli tak, to jak dokładny …

2
Za pomocą polecenia `select`, aby wydrukować menu w Bash
Próbuję zaimplementować proste menu za pomocą selectpolecenia. Skrypt (do celów testowych) wygląda następująco: #!/bin/bash echo "*******************" PS3='Select an option and press Enter: ' options=("apache" "named" "sendmail") select opt in "${options[@]}" do case $opt in "apache") date ;; "named") echo "test" ;; "sendmail") echo "test 2" ;; *) echo "invalid option";; …

4
Nieoczekiwany błąd EOF i błąd składni
Obecnie piszę mój trzeci skrypt powłoki i napotkałem problem. Oto mój skrypt do tej pory: #!/bin/bash echo "choose one of the following options : \ 1) display all current users \ 2) list all files \ 3) show calendar \ 4) exit script" while read do case in 1) who;; …


1
Próba napisania skryptu powłoki, który zdalnie testuje serwer, ale po wylogowaniu wciąż pojawia się instrukcja else
Próbuję tutaj napisać skrypt powłoki, który ciągle testuje mój serwer i wysyłać mi e-maile, gdy przestanie działać. Problem polega na tym, że kiedy wylogowuję się z połączenia ssh, pomimo uruchomienia go &na końcu polecenia, na przykład ./stest01.sh &, automatycznie wpada w inne i nieprzerwanie wysyła mi pocztę, dopóki nie zaloguję …

4
Wydajność pętli a ekspansja
Potrzebujesz sugestii ekspertów dotyczących poniższego porównania: Segment kodu za pomocą pętli: for file in `cat large_file_list` do gzip -d $file done Segment kodu za pomocą prostego rozszerzenia: gzip -d `cat large_file_list` Który będzie szybszy? Muszę manipulować dużym zestawem danych.

3
Jak mogę zapobiec nieobsługiwanym opcjom „shopt” powodującym błędy w moim .bashrc?
Pracuję w stosunkowo heterogenicznym środowisku, w którym mogę uruchamiać różne wersje Bash na różnych węzłach HPC, maszynach wirtualnych lub mojej osobistej stacji roboczej. Ponieważ umieściłem swoje skrypty logowania w repozytorium Git, chciałbym używać tego samego (ish) na .bashrccałym forum, bez zbyt wielu „jeśli ten host, to ...” - niechlujny typ. …

1
diff pokazuje tylko różnice wewnątrz linii
Chcę porównać linie w dwóch plikach, ale aby zminimalizować szum na wyjściu, chcę, aby drukowane były tylko rzeczywiste różnice w liniach. Na przykład, biorąc pod uwagę dwa poniższe pliki: a.txt a b c d e f g h i j k l m n o p q r s t …


2
Zbuduj polecenie dynamicznie
Pracuję nad skryptem i muszę tardynamicznie budować polecenie. Oto dwa przykłady ilustrujące to, co próbuję zrobić: #!/bin/bash TAR_ME="/tmp" EXCLUDE=("/tmp/hello hello" "/tmp/systemd*" "/tmp/Temp*") _tar="tar "`printf -- '--exclude="%s" ' "${EXCLUDE[@]}"`" -zcf tmp.tar.gz" echo COMMAND: "${_tar}" ${_tar} "$TAR_ME" echo -e "\n\nNEXT:\n\n" EXCLUDE=("--exclude=/tmp/hello\ hello" "--exclude=/tmp/systemd*" "--exclude=/tmp/Temp*") _tar="tar "`printf -- '%s ' "${EXCLUDE[@]}"`" -zcf test.tar.gz" …

6
Tablica sortowania według Bash według długości elementów?
Biorąc pod uwagę tablicę ciągów, chciałbym posortować tablicę według długości każdego elementu. Na przykład... array=( "tiny string" "the longest string in the list" "middle string" "medium string" "also a medium string" "short string" ) Powinien sortować do ... "the longest string in the list" "also a medium string" "medium string" …


2
Manipulowanie wierszem poleceń XML (skrypt powłoki)
Jak manipulować XML z wiersza poleceń w skrypcie powłoki? Istnieje wiele poleceń do manipulowania danymi tabelarycznymi, zastępowania zmiennych środowiskowych lub zastępowania fragmentów tekstu wyrażeniami regularnymi, ale nic nie znalazłem dla XML. Mój skrypt kompilacji musi wstawić znacznik z zawartością w głównym znaczniku dokumentu xml i uważam, że przesadzenie polega na …

3
Ochrona polecenia powłoki za pomocą zmiennej łańcuchowej
W języku programowania wykonuję proste polecenie powłoki cd var; echo > create_a_file_here z var jest zmienną, która zawiera ciąg (miejmy nadzieję) katalogu do miejsca, gdzie chcę, aby utworzyć plik „create_a_file_here”. Teraz, jeśli ktoś zobaczy ten wiersz kodu, można go wykorzystać, przypisując na przykład: var = "; rm -rf /" Sprawy …

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.