Pytania oznaczone «quoting»

23
Po co unikać trywialnych znaków w skrypcie powłoki?

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...

23
Usuń wszystkie pliki zaczynające się od znaku zapytania

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 innego...

22
Dodaj argumenty do 'bash -c'

Powiedzmy, że chcę uruchomić polecenie przez Bash w następujący sposób: /bin/bash -c "ls -l" Według strony podręcznika Bash, mógłbym również uruchomić go w następujący sposób: # don't process arguments after this one # | pass all unprocessed arguments to command # | | # V V /bin/bash -c ls --...

22
Jak mogę usunąć plik o nazwie „>”?

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...

21
Dlaczego „nie” pokazuje tego pliku?

Używając findz grep, można zlokalizować pliki, które pasują do wzorca: # find | grep error ./solr-modifiedSolr4/SolrPhpClient/phpdocs/errors.html ./error_log ./includes/classes/error_log Jednak przy użyciu findsamego pierwszego pliku nie znaleziono: # find . -name

19
za pomocą sed z ampersand (&)

Używam sed do znajdowania i zastępowania wzorców w plikach SAS, które mam, zamiast zmieniać je indywidualnie. Problem polega na tym, że próbuję zastąpić makrozmienne, a gdy używam ampersand, nie przetwarza to poprawnie. Here's my code: sed -ie 's/user=&uid./user=&sysuserid./g'...

18
Czy zmienne powinny być cytowane podczas wykonywania?

Ogólna zasada w skryptach powłoki polega na tym, że zmienne powinny być zawsze cytowane, chyba że istnieje ważny powód, aby tego nie robić. Aby uzyskać więcej informacji, niż prawdopodobnie chcesz wiedzieć, spójrz na to świetne pytanie i odpowiedzi: Implikacje bezpieczeństwa związane z zapominaniem...

15
Jak cytować argumenty za pomocą xargs

Załóżmy, że chcę usunąć wszystkie pliki w folderze, które są większe niż 1 MB. $ find . -size +1M | xargs -0 rm Nie spowoduje to usunięcia plików, które mają spacje w swoich nazwach. Chcę, żeby zacytował wszystkie argumenty, do których wysyła rm. Jeśli finddaje to Some report.docxpowinien on...