Pytania otagowane jako bash

W przypadku pytań dotyczących skryptów napisanych dla powłoki poleceń Bash. W przypadku skryptów powłoki z błędami / błędami składni sprawdź je za pomocą programu shellcheck (lub na internetowym serwerze shellcheck pod adresem https://shellcheck.net) przed opublikowaniem tutaj. Pytania dotyczące interaktywnego korzystania z Bash są bardziej prawdopodobne na Super User niż na Stack Overflow.

11
Usuń nadmiarowe ścieżki ze zmiennej $ PATH
Zdefiniowałem tę samą ścieżkę w zmiennej $ PATH 6 razy. Nie wylogowywałem się, żeby sprawdzić, czy zadziałało. Jak mogę usunąć duplikaty? Zmienna $ PATH wygląda następująco: echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin Jak bym zresetował to do just /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

13
Przyrost licznika w pętli Bash nie działa
Mam następujący prosty skrypt, w którym uruchamiam pętlę i chcę zachować plik COUNTER. Nie mogę zrozumieć, dlaczego licznik się nie aktualizuje. Czy jest to spowodowane tworzeniem podpowłoki? Jak mogę to potencjalnie naprawić? #!/bin/bash WFY_PATH=/var/log/nginx WFY_FILE=error.log COUNTER=0 grep 'GET /log_' $WFY_PATH/$WFY_FILE | grep 'upstream timed out' | awk -F ', ' …
125 linux  bash  shell  scripting  counter 

8
Jak uzyskać ostatni znak łańcucha w powłoce?
Napisałem następujące wiersze, aby uzyskać ostatni znak ciągu: str=$1 i=$((${#str}-1)) echo ${str:$i:1} Działa dla abcd/: $ bash last_ch.sh abcd/ / Nie działa dlaabcd* : $ bash last_ch.sh abcd* array.sh assign.sh date.sh dict.sh full_path.sh last_ch.sh Zawiera listę plików w bieżącym folderze .
125 string  bash  shell 

4
CURL, aby uzyskać dostęp do strony wymagającej logowania z innej strony
Mam 2 strony: xyz.com/ai xyz.com/b. Mam dostęp tylko xyz.com/bwtedy i tylko wtedy, gdy xyz.com/anajpierw się zaloguję. Jeśli uzyskuję dostęp xyz.com/bbez przechodzenia przez drugą stronę, po prostu otrzymuję odmowę dostępu (brak przekierowania do logowania) za pośrednictwem przeglądarki. Po zalogowaniu się xyz.com/amam dostęp do drugiego. Mój problem polega na tym, że robię …

6
Jakie jest dokładne znaczenie IFS = $ '\ n'?
Jeśli poniższy przykład, który ustawia IFSzmienną środowiskową na znak wysuwu wiersza ... IFS=$'\n' Co dokładnie oznacza znak dolara ? Co robi w tym konkretnym przypadku? Gdzie mogę przeczytać więcej na temat tego konkretnego zastosowania (Google nie zezwala na znaki specjalne w wyszukiwaniu i nie wiem, czego szukać w innym przypadku)? …


9
Pobierz zmienną środowiskową z kontenera platformy Docker
Jaki jest najprostszy sposób uzyskania zmiennej środowiskowej z kontenera platformy Docker, który nie został zadeklarowany w pliku Dockerfile ? Na przykład zmienna środowiskowa, która została ustawiona podczas jakiejś docker exec container /bin/bashsesji? Mogę to zrobić docker exec container env | grep ENV_VAR, ale wolałbym coś, co po prostu zwraca wartość. …

6
Jak profilować powolne uruchamianie skryptu powłoki bash?
Moja powłoka bash uruchamia się do 3-4 sekund, a jeśli ją uruchomię --norc, działa natychmiast. Zacząłem „profilować” /etc/bash.bashrci ~/.bashrcręcznie wstawiać returnstwierdzenia i szukać ulepszeń szybkości, ale nie jest to proces ilościowy i nie jest wydajny. Jak mogę profilować moje skrypty bash i sprawdzić, które polecenia uruchamiają się najczęściej?
124 bash  profiling 

11
Jaki jest przypadek użycia noop [:] w bash?
Szukałem noop w bash (:), ale nie mogłem znaleźć żadnych dobrych informacji. Jaki jest dokładny cel lub przypadek użycia tego operatora? Próbowałem śledzić i działa to tak dla mnie: [mandy@root]$ a=11 [mandy@root]$ b=20 [mandy@root]$ c=30 [mandy@root]$ echo $a; : echo $b ; echo $c 10 30 Daj mi znać, każdy …
124 bash  shell  noop 

8
Jak otworzyć emacsa w bash
Używam Ubuntu 11.10. Kiedy wpisuję polecenie „emacs” w terminalu, otwiera emacs jako osobne okno. Jak mogę go otworzyć w terminalu, jak edytor nano?
124 bash  emacs 

7
Policz wystąpienia znaku w ciągu znaków za pomocą funkcji Bash
Muszę policzyć liczbę wystąpień znaku w ciągu znaków za pomocą funkcji Bash. W poniższym przykładzie, gdy char to (na przykład) t, echojest to poprawna liczba wystąpień tin var, ale gdy znak jest przecinkiem lub średnikiem, wypisuje zero: var = "text,text,text,text" num = `expr match $var [,]` echo "$num"
124 bash  shell  sh 

7
Jak wsadowo zmieniać nazwy plików w terminalu macOS?
Mam folder z serią plików o nazwie: prefix_1234_567.png prefix_abcd_efg.png Chciałbym zbiorczo usunąć jeden podkreślenie i środkową zawartość, aby wynik wyglądał następująco: prefix_567.png prefix_efg.png Odpowiednie, ale nie do końca wyjaśniające: Jak mogę zbiorczo zmieniać nazwy plików za pomocą terminala? Regex do wsadowej zmiany nazw plików w terminalu OS X.

5
Wyodrębnij katalog ze ścieżki
W moim skrypcie potrzebuję katalogu pliku, z którym pracuję. Na przykład file = "stuff / backup / file.zip" . Potrzebuję sposobu, aby uzyskać ciąg „ rzeczy / kopia zapasowa / ” ze zmiennej $file.
123 string  bash  path 



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.