W /etc/profilewidzę tak: for i in /etc/profile.d/*.sh ; do if [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then . "$i" else . "$i" >/dev/null 2>&1 fi fi done Co ${-#*i}znaczy Nie mogę znaleźć definicji rozszerzania parametru rozpoczynającego się
W /etc/profilewidzę tak: for i in /etc/profile.d/*.sh ; do if [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then . "$i" else . "$i" >/dev/null 2>&1 fi fi done Co ${-#*i}znaczy Nie mogę znaleźć definicji rozszerzania parametru rozpoczynającego się
Czy to możliwe, wykonaj chmod i zignoruj błąd z polecenia Przykład (uwaga file.txt nie istnieje, aby pokazać przykład) Kiedy piszę chmod 777 file.txt Na wyjściu pojawia się błąd chmod: cannot access file.txt : no such file or directory Dodam więc flagę-f do polecenia w następujący sposób:...
Przykładowy skrypt może wyglądać jak poniżej: #!/bin/bash sudo su ls /root Jeśli używasz ./test.shjako zwykły użytkownik, zamiast tego uruchom lsjako superużytkownik i wyjdź, przełącza się na root; a kiedy się wylogowuję, działa ls /rootjak zwykły użytkownik. Czy ktoś może mi powiedzieć o tym...
Podczas przeglądania jednego skryptu powłoki widziałem termin „$?”. Jakie jest znaczenie tego
Dlaczego poniższy skrypt nie zostałby wykonany, ale dał błąd składniowy else: LOGS3_DIR=~/logs if [ -d "$LOGS3_DIR" ]; then cd cd "$LOGS3_DIR" echo "$LOGS3_DIR" for filename in `find "." -mtime 1 -type f` do if lsof "$filename" > /dev/null then # file is open else echo "deleting...
Jak można uruchomić wiele programów w tle za pomocą jednego polecenia? Próbowałem poniższych poleceń, ale one nie działają. nohup ./script1.sh & && nohup ./script2.sh & -bash: syntax error near unexpected token '&&' nohup ./script1.sh & ; nohup ./script2.sh...
W bashskrypcie potrzebuję różnych wartości z /proc/plików. Do tej pory mam kilkadziesiąt wierszy bezpośrednio w plikach: grep -oP '^MemFree: *\K[0-9]+' /proc/meminfo Aby uczynić to bardziej wydajnym, zapisałem zawartość pliku w zmiennej i grep, że: a=$(</proc/meminfo) echo "$a" | grep -oP...
Czy mogę bezpiecznie pominąć cytaty po prawej stronie zadania lokalnego? function foo { local myvar=${bar} stuff() } Interesuje mnie głównie bash, ale mile widziane są wszelkie informacje na temat narożnych skrzynek w innych
Czy dobrym pomysłem jest użycie następującego aliasu: cd() { pushd $1; } w bash? Myślę, że byłoby to bardzo przydatne, ponieważ mogę wtedy użyć serii popds zamiast tylkocd - raz. Czy jest jakiś przypadek, w którym może to stanowić
Pozwól, że wyjaśnię charakter nowego znaku: $ echo Hello > file1 ; cat file1 Hello $ echo -n Hello > file2 ; cat file2 Hello$ Tutaj możesz zobaczyć, że file1na końcu file2ma znak nowej linii, a nie ma. Załóżmy teraz, że mam jeden file: $ cat file Hello Welcome to Unix $ I chcę dodać...
Chcę uruchomić skrypt powłoki, który ma w sobie pętlę i może trwać wiecznie, czego nie chcę. Więc muszę wprowadzić limit czasu dla całego skryptu. Jak mogę wprowadzić limit czasu dla całego skryptu powłoki w
Spotkałem się BASEDIR=$(pwd)w skrypcie. Czy są jakieś zalety lub wady w stosunku do używania BASEDIR="$PWD", które $PWDmogą być
Czy jest jakaś różnica między tymi dwoma. [[ $a == z* ]] i [ $a == z* ] Czy mogę podać przykład, w którym miałyby różne wyniki? Ponadto, czym [[ ]]różni się działanie [
Mam skrypt w języku Python, który należy uruchomić z określoną instalacją w języku Python. Czy istnieje sposób na wykonanie shebang, aby działał
Chcę znaleźć, powiedzmy, 10 najczęstszych słów w pliku tekstowym. Po pierwsze, rozwiązanie powinno być zoptymalizowane pod kątem naciśnięć klawiszy (innymi słowy - mojego czasu). Po drugie, za występ. Oto, co mam do tej pory, aby uzyskać 10 najlepszych: cat test.txt | tr -c '[:alnum:]' '[\n*]' |...
Bardzo przydatne, gdy zapomnisz sudo na początku polecenia, !!działa jak alias poprzedniego polecenia. Przykład: $ mv /very/long/path/for/a/protected/sensible/file/caution.h . (...) Permission denined $ sudo !! sudo mv /very/long/path/for(...) . [sudo] password : Jak nazywamy tę podwójną...
Uczę się skryptów bash i znalazłem to na moim / usr / share / bash-complete, wiersz 305: local cword words=() Co to robi? Wszystkie samouczki online są tylko w formacie local
Mam plik wykonywalny, który uruchamia powłokę interaktywną dla użytkownika. Chciałbym, po uruchomieniu powłoki, najpierw wstrzyknąć kilka poleceń, a następnie pozwolić użytkownikowi na interaktywną sesję. Mogę to łatwo zrobić za pomocą echo: echo "command 1\ncommand 2\ncommand3" |...
Bardzo trudno mi zrozumieć, w jaki sposób można używać deskryptorów plików w skryptach powłoki. Znam podstawy takie jak exec 5 > /tmp/foo Tak więc fd 5 jest dołączony do foo do pisania. exec 6 < /tmp/bar … do czytania. exec 5>&- … Zamknij fd. Co to teraz...
Obecnie piszę skrypt Bash, który ma następujące wymagania: powinien działać na wielu różnych platformach Unix / Linux powinien obsługiwać zarówno opcje krótkie, jak i (GNU) Wiem, że getoptsbyłby to preferowany sposób pod względem przenośności, ale AFAIK nie obsługuje długich...