Nie jestem pewien co do następującego skryptu ( hello.go). //usr/bin/env go run $0 $@ ; exit package main import "fmt" func main() { fmt.Printf("hello, world\n") } Można wykonać. (w MacOS X 10.9.5) $ chmod +x hello.go $ ./hello.go hello, world Od początku nie słyszałem o shebang //. I nadal działa, …
Rozumiem oczywiście, że można dodać wartość do zmiennej separatora pól wewnętrznych. Na przykład: $ IFS=blah $ echo "$IFS" blah $ Rozumiem również, że read -r linezapisze dane stdinw zmiennej o nazwie line: $ read -r line <<< blah $ echo "$line" blah $ Jak jednak polecenie może przypisać wartość zmiennej? …
W pracy często piszę skrypty bash. Mój przełożony zasugerował, aby cały skrypt był podzielony na funkcje, podobnie jak w poniższym przykładzie: #!/bin/bash # Configure variables declare_variables() { noun=geese count=three } # Announce something i_am_foo() { echo "I am foo" sleep 0.5 echo "hear me roar!" } # Tell a joke …
Jestem stosunkowo nowy w programowaniu jako całości, a niektóre samouczki mówią mi, żebym ls -lszukał plików w katalogu, a inni mówili ll. Wiem, że lsto krótka lista, ale czy istnieje różnica między pozostałymi dwoma?
Społeczność Java używa 4 spacji jako jednostki wcięcia. 1 Społeczność Rubinowa używa 2 spacji, które są ogólnie uzgodnione. 2) Jaki jest standard wcięć w skryptach powłoki? 2 lub 4 spacje lub 1 tabulator?
Mam narzędzie składające się z kilku katalogów z niektórymi skryptami bash i plikami pomocniczymi, które zostaną wdrożone na kilku komputerach, ewentualnie w innym katalogu na każdym komputerze. Skrypty muszą mieć możliwość odwoływania się do ścieżek względem siebie, więc muszę mieć możliwość uzyskania ścieżki do aktualnie wykonywanego pliku. Zdaję sobie sprawę …
Pracuję na serwerze Red Hat. Polecenia ls -llub llpodanie mi daty i godziny w formacie +"%b %-d %H:%M". Chcę wyświetlić listę plików w taki sposób, aby rok, w którym utworzono każdy plik, pojawiał się w terminie. Jak to możliwe?
Lubię więc hartować moje skrypty bash, gdzie tylko mogę (a kiedy nie mogę delegować na język taki jak Python / Ruby), aby upewnić się, że błędy nie zostaną przechwycone. W tym stylu mam plik strict.sh, który zawiera takie rzeczy jak: set -e set -u set -o pipefail I źródła w …
Szukam konstrukcji w bash, aby zdecydować, czy zmienna $WORDjest jednym ze zdefiniowanych słów. Potrzebuję czegoś takiego: if "$WORD" in dog cat horse ; then echo yes else echo no fi czy bash ma taką konstrukcję? Jeśli nie, co byłoby najbliższe?
Mam dziennik serwera, który wyświetla określony wiersz tekstu w pliku dziennika, gdy serwer jest uruchomiony. Chcę wykonać polecenie po uruchomieniu serwera, a zatem wykonaj następujące czynności: tail -f /path/to/serverLog | grep "server is up" ...(now, e.g., wget on server)? Jak najlepiej to zrobić?
Muszę połączyć dwie zmienne, aby utworzyć nazwę pliku z podkreśleniem. Wywołuje moje zmienne $FILENAMEi $EXTENSIONgdzie nazwa pliku jest odczytywana z pliku. FILENAME=Hello EXTENSION=WORLD.txt Teraz... Próbowałem następujących bez powodzenia: NAME=${FILENAME}_$EXTENSION NAME=${FILENAME}'_'$EXTENSION NAME=$FILENAME\\_$EXTENSION Zawsze otrzymuję coś dziwnego. Zwykle podkreślenie jest pierwsze. Muszę tak być echo $NAME Hello_WORLD.txt
Mam ciąg w następnym formacie id;some text here with possible ; inside i chcę podzielić go na 2 łańcuchy przez pierwsze wystąpienie ;. Tak powinno być: idisome text here with possible ; inside Wiem, jak podzielić ciąg (na przykład za pomocą cut -d ';' -f1), ale zostanie on podzielony na …
Mam wiele kont Amazon EC2 i chcę szybko móc zmieniać zmienne, na przykład za $EC2_HOMEpomocą skryptu. Mam skonfigurowany skrypt powłoki w ten sposób: #!/bin/sh export EC2_HOME=/home/me/.ec2 echo $EC2_HOME Kiedy uruchamiam skrypt, wiem, że EC2_HOMEjest ustawiony, ale pomyślałem, że użycie exportspowoduje, że zmienna pozostanie po zakończeniu skryptu. Nie działa, ponieważ bieganie …
Mam skrypt powłoki, w którym mamy następujące wiersze if [ -z "$xyz" ]i if [ -n "$abc" ], ale nie jestem pewien, jaki jest ich cel. Czy ktoś może wyjaśnić?
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.