Pytania otagowane jako bash

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.

4
bash iteruj listę plików, chyba że jest pusta
Myślałem, że to będzie proste - ale okazuje się bardziej złożone niż się spodziewałem. Chcę iterować wszystkie pliki określonego typu w katalogu, więc piszę: #!/bin/bash for fname in *.zip ; do echo current file is ${fname} done Działa to tak długo, jak w katalogu jest co najmniej jeden pasujący plik …
33 bash  parameter 


2
Jak uzyskać wyjście ze skryptu `screen` do skryptu?
Mam screenuruchomioną instancję i musiałbym wykonać część kodu wewnątrz screeni pobrać wynik do mojego skryptu. Pierwsza część jest dość łatwa screen -S session_name -X eval 'stuff "$cmd"\015'. (Zmieniłem wiersz znaleziony w skrypcie ) Druga część, polegająca na wydostaniu się z produkcji, jest trudniejsza. Jak mogę uzyskać cały wynik, niezależnie od …

2
Dlaczego `sort <(ls -l)` działa, ale `sort <(ls -l)` nie działa?
Dzisiaj uczę się czegoś o fifo w tym artykule: Wprowadzenie do nazwanych potoków , o którym wspomniano cat &lt;(ls -l). Zrobiłem kilka eksperymentów, używając sort &lt; (ls -l), który wyskakuje błąd: -bash: syntax error near unexpected token `('` Potem odkryłem, że źle wprowadziłem dodatkowe miejsce w poleceniu. Ale dlaczego to …

1
ESC + {: Co to jest i gdzie mogę dowiedzieć się więcej na ten temat?
Bawiłem się po monicie bash i nacisnąłem ESC, a następnie {, po czym powłoka pokazała wszystkie pliki do ukończenia, w postaci łańcucha plików tekstowych. Np .: Gdybym wpisał, bash Ca po nim ESC+{, powłoka pokazałaby to: bash CHECK{,1,2{,23{336{,66666},6},3{,6}}}automatyczne uzupełnianie wszystkich możliwych plików i katalogów zaczynających się na C, pokazując wszystkie …


3
Co znaczy! $?
Wykonuję samouczek, w którym wspomniano o uruchomieniu tego polecenia: sudo chmod 700 !$ Nie jestem zaznajomiony z !$. Co to znaczy?

6
Policz liczbę wierszy wyjścia z poprzedniego programu
Próbuję policzyć liczbę wierszy danych wyjściowych, które wytwarza dany program. Problem polega na tym, że uruchomienie programu zajmuje dużo czasu i chcę wyświetlić dane wyjściowe użytkownikowi. Czy istnieje sposób na policzenie liczby wierszy wypisanych przez ostatnie polecenie? Mógłbym to zrobić, program | wc -lale to nie pokazałoby wyjścia użytkownikowi. O …

2
Co oznacza przekierowanie „<<(…)”?
Widziałem, że rvm (menedżer wersji Ruby) jest instalowany za pomocą następującego polecenia: bash &lt; &lt;(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer ) Tak więc, jak rozumiem, otrzymujemy treść skryptu i przekazujemy go bashowi (wierzę &lt; &lt;i czy &lt;&lt;to to samo?) Interesuje mnie ta &lt; &lt;część, która zawiera następujący opis w sieci: &lt;&lt; token Oznacza, …

4
znajdź -exec + vs znajdź | xargs: który wybrać?
Rozumiem, że -execmożna wybrać +opcję naśladowania zachowania xargs. Czy jest jakaś sytuacja, w której wolisz jedną formę od drugiej? Osobiście wolę pierwszą formę, choćby po to, by uniknąć używania rury. Myślę, że z pewnością programiści findmusieli dokonać odpowiednich optymalizacji. Mam rację?
32 bash  find  pipe  xargs 


3
Jak mogę użyć dwóch poleceń bash w -exec polecenia find?
Czy możliwe jest użycie 2 poleceń w -execczęści findpolecenia? Próbowałem czegoś takiego: find . -name "*" -exec chgrp -v new_group {} ; chmod -v 770 {} \; i dostaję: find: brakujący argument dla -exec chmod: nie można uzyskać dostępu {}: brak takiego pliku lub katalogu chmod: nie można uzyskać dostępu …
32 bash  find 

2
usuń pliki pasujące do wzorca
Muszę rekurencyjnie usunąć wszystkie pliki ze wszystkich podkatalogów, w których nazwa pliku zawiera liczbę, po której następuje „x”, a następnie co najmniej dwa razy. Przykład: Chciałbym usunąć te pliki: 'aaa-12x123-123x12.jpg' 'aaa-12x12-123x12-12x123.jpg' Ale NIE chcę usuwać tych plików: 'aaa.jpg' 'aaa-12x12.jpg' 'aaaxaaa-123x123.jpg' 'aaaxaaa-aaaxaaa.jpg' Jak mogę to zrobić (z powłoki bash)
32 bash  files  find  wildcards 

5
getopt, getopts lub parsowanie ręczne - z czego korzystać, gdy chcę obsługiwać zarówno krótkie, jak i długie opcje?
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 opcji. getoptobsługuje długie opcje, ale BashGuide zdecydowanie zaleca: Nigdy nie używaj …


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.