Strona man dla GNU find stwierdza: -exec command ; [...] The string `{}' is replaced by the current file name being processed everywhere it occurs in the arguments to the command, not just in arguments where it is alone, as in some versions of find. Both of these constructions might …
Będzie to łatwe, ale w moich wspomnieniach, kiedy skryptowanie powłoki używa podwójnych cudzysłowów, pozwala na rozszerzanie globowania i zmiennych. Ale w następującym kodzie: #!/bin/sh echo *.sh echo "*.sh" echo '*.sh' echo $LANG echo "$LANG" echo '$LANG' Otrzymuję ten wynik: bob.sh redeployJboss.sh *.sh *.sh en_US.utf8 en_US.utf8 $LANG Więc pojedyncze cytowanie zapobiega …
Chcę wiedzieć, które pliki mają ciąg $Id$. grep \$Id\$ my_dir/mylist_of_files zwraca 0 wystąpień. Odkryłem, że muszę użyć grep \$Id$ my_dir/mylist_of_files Potem widzę, że $Idkolor jest wyjściowy, tzn. Został dopasowany. Jak mogłem dopasować drugi $i dlaczego nie \$Id\$działa. Nie ma znaczenia, czy drugi $to ostatni znak, czy nie. Używam grep2.9. Przed …
Próbuję sprawdzić, czy dane wejściowe są liczbami całkowitymi i przekroczyłem je sto razy, ale nie widzę w tym błędu. Niestety nie działa, uruchamia instrukcję if dla wszystkich danych wejściowych (cyfr / liter) read scale if ! [[ "$scale" =~ "^[0-9]+$" ]] then echo "Sorry integers only" fi Bawiłem się cytatami, …
Często kończę na wydawaniu złożonych poleceń przez ssh; polecenia te obejmują potokowanie do awk lub perl jednowierszowe, w wyniku czego zawierają pojedyncze cudzysłowy i $. Nie byłem w stanie wypracować twardej i szybkiej zasady prawidłowego cytowania, ani nie znalazłem dla niej dobrego odniesienia. Rozważ na przykład: # what I'd run …
Czytam dzisiaj samouczek powłoki z http://www.tutorialspoint.com/unix/unix-quoting-mechanisms.htm W którym wspomina: Jeśli pojedynczy ciąg znaków pojawia się w ciągu, który ma być wyprowadzony, nie należy umieszczać całego ciągu w obrębie pojedynczych cudzysłowów, zamiast tego należy poprzedzić to odwrotnym ukośnikiem (): echo 'It\'s Shell Programming' Próbowałem tego na moim serwerze Centos, to nie …
ssh ma irytującą funkcję polegającą na tym, że po uruchomieniu: ssh user@host cmd and "here's" "one arg" Zamiast uruchamiać to cmdz włączonymi argumentami host, łączy to cmdi argumenty ze spacjami i uruchamia powłokę, hostaby zinterpretować otrzymany ciąg (chyba dlatego jest wywoływany, ssha nie sexec). Co gorsza, nie wiesz, która powłoka …
Czytałem, że potrzebujesz podwójnych cudzysłowów do rozwijania zmiennych, np if [ -n "$test" ]; then echo '$test ok'; else echo '$test null'; fi będzie działać zgodnie z oczekiwaniami, podczas gdy if [ -n $test ]; then echo '$test ok'; else echo '$test null'; fi zawsze powie, $test oknawet jeśli $testjest …
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 …
To pytanie zostało przeniesione z usterki serwera, ponieważ można na nie odpowiedzieć w systemie wymiany stosów Unix i Linux. Migrował 8 lat temu . echoPolecenie nie jest w tym pełny tekst, który daję. Na przykład, jeśli zrobię: $ echo ' echo PARAM=` grep $ARG /var/tmp/setfile | awk '{print $2}' ` …
Powiedzmy, że mamy 2 liczby całkowite w skrypcie bash: value1=5 value2=3 Dlaczego więc musimy używać podwójnych cudzysłowów w przypadku testu? Na przykład: if [[ "$value1" -eq "$value2" ]] Dlaczego nie skorzystać z poniższych? if [[ $value1 -eq $value2 ]] Dla mnie podwójne cytaty nie mają żadnego sensu.
Mam folder, w którym mam około 4k plików. Niektóre z tych plików zaczynają się od aa ?lub !znaku. Muszę je usunąć, ale nie mogę znaleźć wyrażenia, które by to zrobiło: rm -f ./?* po prostu usuwa wszystko. Mogę ewentualnie używać grepna ls i xargsprzesyłać przez niego i przenosić pliki do …
Jaka jest różnica między tymi trzema poleceniami? echo `date` echo "`date`" echo '`date`' Jestem zdezorientowany, jakie faktycznie są różnice. Wydaje mi się, że gdy „wokół” są, oznacza to, że jest to ciąg znaków, dlatego echo dosłownie wyświetli ciąg datezamiast wyświetlać datę?
Właśnie otworzyłem starszy skrypt powłoki (napisany w starym ksh88 na Solarisie) i znalazłem następujące powtórzenia w całym kodzie: [ -f $myfile ] && \rm -f $myfile Uciekający ukośnik wydaje mi się dziwny. Wiem, że jest to celowe, ponieważ tego rodzaju (pozornie bezużyteczne) ucieczki powtarzają się w całym kodzie. Pierwotnego autora …
Uruchomiłem skrypt w języku Python, który źle działał i użył go sudodo utworzenia pliku o nazwie >. Jak mogę pozbyć się tego pliku? Oczywiście, kiedy próbuję, pojawia sudo rm >się błąd bash: syntax error near unexpected token 'newline', ponieważ wydaje się, że próbuję przekierować wyjście rm. Jego uprawnienia to -rw-r--r--.
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.