Pytania specyficzne dla GNU Bourne Again SHell, w przeciwieństwie do innych powłok Bourne / POSIX. W przypadku pytań dotyczących powłok uniksowych użyj zamiast tego znacznika / shell.
Mam tę tablicę: declare -A astr Dodaję do niego elementy: astr[elemA]=123 astr[elemB]=199 Ale później muszę wiedzieć, jakie są identyfikatory indeksów (elemA i elemB) i wymienić je. echo "${astr[@]}" #this only get me the values...
W moim skrypcie bash próbuję wydrukować wiersz, jeśli określony ciąg nie istnieje w pliku. if grep -q "$user2" /etc/passwd; then echo "User does exist!!" Tak to napisałem, jeśli chciałem, aby ciąg istniał w pliku, ale jak mogę to zmienić, aby wydrukować „użytkownik nie istnieje”, jeśli nie ma go w pliku …
Zastanawiałem się, czy następujące dwa sposoby uruchamiania skryptu bash są równoważne? . ./myScript.sh source myScript.sh Czy obaj uruchamiają treść skryptu zamiast skryptu, tzn. Nie tworzą podpowłoki do uruchomienia skryptu?
Ostatnio patrzyłem na kod, który mnie pomylił, ponieważ działa, a nie spodziewałem się, że to zrobi. Kod ogranicza się do tego przykładu #!/bin/bash for var; do echo "$var" done Gdy jest uruchamiany z argumentami wiersza poleceń, drukuje je $ ./test a b c a b c To jest (dla mnie) …
Gdzie indziej widziałem funkcję cd, jak poniżej: cd() { builtin cd "$@" } dlaczego zaleca się używać $@zamiast $1? Utworzyłem katalog testowy „r st” i wywołałem skrypt zawierający tę funkcję i działał on w obie strony $ . cdtest.sh "r st" ale $ . cdtest.sh r stzawiodło, czy użyłem "$@"czy"$1"
Każda powłoka ma ustawioną zmienną środowiskową $ HOME (np .:) /Users/lotolo. Jeśli mam csh, mogę, unsetenv HOMEa jeśli tak, to cdbędę w domu. Przetestowałem to również na bash ( unset HOME) i to samo zachowanie. Skąd więc powłoka wie, gdzie jest mój dom / other_user? Gdzie odczytuje te wartości? To …
Ta odpowiedź na Security StackExchange używa interesującej składni bash do wygenerowania pliku w wierszu: openssl req -new -x509 -nodes -newkey ec:<(openssl ecparam -name secp384r1) -keyout cert.key -out cert.crt -days 3650 Ten kawałek jest szczególnie interesujący: <(openssl ecparam -name secp384r1) Działa tylko: echo <(openssl ecparam -name secp384r1) Wracam /dev/fd/63 Wydaje się …
Mam link http: http://www.test.com/abc/def/efg/file.jar i chcę zapisać ostatnią część file.jar w zmiennej, więc ciąg wyjściowy to „file.jar”. Warunek : link może mieć inną długość, np .: http://www.test.com/abc/def/file.jar. Próbowałem w ten sposób: awk -F'/' '{print $7}' , ale problemem jest długość adresu URL, więc potrzebuję polecenia, którego można użyć dla dowolnej …
Jedną z moich ulubionych sztuczek w Bash jest otwieranie wiersza poleceń w edytorze tekstu. Robię to (w trybie vi), naciskając ESC v. Gdy to zrobię, wszystko, co jest w wierszu polecenia, jest teraz wyświetlane w moim edytorze $ EDITOR. Następnie mogę edytować polecenie tak, jakby to był dokument, a kiedy …
Załóżmy, że w Bash odwiedzam katalog, a następnie inny katalog. Chciałbym skopiować plik z pierwszego katalogu do drugiego katalogu, ale bez określania ich długich ścieżek. Czy to możliwe? Moim tymczasowym rozwiązaniem jest użycie /tmpjako tymczasowego miejsca do przechowywania kopii pliku. cp myfile /tmpkiedy jestem w pierwszym katalogu, a potem cp …
W moich testach (w Bash i Z Shell) nie widziałem problemów z definiowaniem funkcji, aliasów lub wykonywalnych skryptów powłoki, które mają łączniki w nazwie, ale nie jestem pewien, czy będzie dobrze we wszystkich powłokach i we wszystkich przypadkach użycia . Powodem, dla którego chciałbym to zrobić, jest to, że myślnik …
Mam problem z opanowaniem podstaw skryptów Bash. Oto co mam do tej pory: #!/bin/bash FILES="/home/john/my directory/*.txt" for f in "${FILES}" do echo "${f}" done Chcę tylko wyświetlić listę wszystkich .txtplików w forpętli, dzięki czemu mogę robić z nimi różne rzeczy. Ale miejsce w my directorygwiazdce i gwiazdka po *.txtprostu nie …
Na przykład, czy mogę ustawić: gb = cd /media/Dan/evolution ... aby za każdym razem, gdy wykonuję gbbash, mogę cdprzejść do tego konkretnego katalogu? Znalazłem coś online: aliaspolecenie. Ale wydaje się, że nie może wykonać powyższej pracy. Czy można to zrobić? W jaki sposób?
Mam skrypt bash, który tworzy plik „.tar”. Po utworzeniu pliku chciałbym przetestować jego integralność i wysłać wiadomość e-mail do użytkownika root, jeśli integralność jest zła. Wiem, że musiałbym użyć polecenia, tar -tf /root/archive.taraby sprawdzić integralność pliku, ale jak mam to zaimplementować w instrukcji bash if i sprawdzić, czy nie ma …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.