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.
W wierszu polecenia mogę przekierować lub potokować wyjście polecenia do pliku lub innego polecenia za pomocą operatora >lub |po poleceniu. Natknąłem się na mniej standardową sytuację, w której chciałbym przekierować dane wyjściowe do pliku, ale wydaje mi się, że nie mam możliwości przekierowania go: Będąc w nowym terminalu [chiliNUT ~]$ …
Mam ponad 10 000 plików o łącznej wielkości ponad 20 GB, które muszę połączyć w jeden plik. Czy jest szybszy sposób niż cat input_file* >> out ? Preferowanym sposobem byłoby polecenie bash, Python jest również akceptowalny, jeśli nie znacznie wolniejszy.
Zdaję sobie sprawę z bibliotek w językach takich jak Ruby i JavaScript, które ułatwiają kolorowanie skryptów terminali przy użyciu nazw kolorów takich jak „czerwony”. Ale czy jest coś takiego dla skryptów powłoki w Bash, Ksh, czy cokolwiek innego?
Muszę umountować coś w moim skrypcie, ale czasami to odmontowuje, zanim wszystkie dane skończą się kopiować i spowoduje awarię umount. Szukałem sposobu na zablokowanie umounta, ale niczego nie znalazłem. Próbowałem więc napisać skrypt, który zapętli się, dopóki nie będzie można go odmontować, ale nie działa. while [ `sudo umount mount` …
Mam pliki, które kończą się na jednej lub więcej linii i powinny kończyć się tylko na jednej linii. Jak mogę to zrobić za pomocą narzędzi Bash / Unix / GNU? Przykład nieprawidłowego pliku: 1\n \n 2\n \n \n 3\n \n \n \n Przykład poprawionego pliku: 1\n \n 2\n \n \n …
Chciałbym dodać tekst na końcu nazwy pliku, ale przed rozszerzeniem. Teraz próbuję for f in *.shp; do echo $f_poly; done wynik jest, Quercus_acutifolia.shp_poly Quercus_agrifolia.shp_poly Quercus_corrugata.shp_poly Quercus_cortesii.shp_poly Quercus_costaricensis.shp_poly Quercus_havardii.shp_poly Quercus_hemisphaerica.shp_poly Quercus_kelloggii.shp_poly Quercus_knoblochii.shp_poly Quercus_laceyi.shp_poly Chcę, żeby tak było Quercus_acutifolia_poly.shp Quercus_agrifolia_poly.shp Quercus_corrugata_poly.shp Quercus_cortesii_poly.shp Quercus_costaricensis_poly.shp Quercus_havardii_poly.shp Quercus_hemisphaerica_poly.shp Quercus_kelloggii_poly.shp Quercus_knoblochii_poly.shp Quercus_laceyi_poly.shp
W Ubuntu 12.04 używam CTRL- Rdo wyszukiwania wstecznej historii. Jeśli żądane polecenie nie zostanie znalezione (po powtórzeniu CTRL- R), jak natychmiast wyjść z powrotem do (pustego) wiersza polecenia bez wpisania lub wykonania polecenia historycznego w wierszu poleceń?
Używam menedżera okien kafelkowych i przełączyłem się gnome-terminalz wieloma kartami na wiele urxvtinstancji zarządzanych przez menedżera okien. Jedną z funkcji, których mi brakuje, jest możliwość otwarcia nowego terminalu, który domyślnie pracuje w katalogu roboczym ostatniego. W skrócie: Potrzebuję sposobu, aby otworzyć nowy urxvt (bash), który domyślnie ma wartość $ PWD …
Chciałbym, aby skrót klawiszowy działał tak: > e foo.txt rozwinąć jako > emacs foo.txt & Jest prosty w użyciu alias e=emacs, ale jak wstawić &po nazwie pliku? Zdaję sobie sprawę, że użycie tego może być niemożliwe alias, więc zaakceptuję każde rozwiązanie bash. Jeśli potrzebny jest skrypt powłoki, proszę wyjaśnić, jak …
To pytanie zostało przeniesione z Stack Overflow, ponieważ można na nie odpowiedzieć na Unix i Linux Stack Exchange. Migrował 8 lat temu . Bez względu na to, o ile ustawiłem HISTSIZEzmienną środowiskową na większą niż 5000, podczas drukowania listy historii z historywbudowanym drukuje tylko ostatnie 5000 poleceń. Potrzebuję tego, ponieważ …
Chcę zbudować ciąg xml wstawiając zmienne: str1="Hello" str2="world" xml='<?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2>' echo $xml Wynik powinien być <?xml version="1.0" encoding="iso-8859-1"?><tag1>Hello</tag1><tag2>world</tag2> Ale dostaję: <?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2> Też próbowałem xml="<?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2>" Ale to usuwa wewnętrzne podwójne cudzysłowy i daje: <?xml version=1.0 encoding=iso-8859-1?><tag1>hello</tag1><tag2>world</tag2>
W drugiej metodzie zaproponowanej przez tę stronę otrzymujemy tty, w którym uruchamiany jest bash za pomocą polecenia: ps ax | grep $$ | awk '{ print $2 }' Pomyślałem sobie, że z pewnością jest to trochę leniwe, wymieniając wszystkie uruchomione procesy tylko po to, aby wyodrębnić jeden z nich. Czy …
Idealny byłby pasek postępu o stałej długości, liczba plików lub bajtów, lub jeszcze lepiej licznik czasu pokazujący szacowany pozostały czas. zipStandardowe zachowanie wydaje się polegać na drukowaniu wiersza dla każdego przetwarzanego pliku, ale nie chcę, aby te informacje były przeciążone, gdy skompresuję tysiące plików. Chcę oszacować, ile to zajmie. Próbowałem …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 8 dni temu . Czy mogę założyć, że zshzainstalowano wystarczającą liczbę osób, aby uruchomić skrypty za pomocą …
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.