Pytania otagowane jako shell-script

Pytania dotyczące skryptów powłoki, plików wykonywalnych interpretowanych przez powłokę (bash, zsh itp.).



2
Jak uzyskać nazwę użytkownika, który wykonał skrypt bash jako sudo?
Chcę utworzyć skrypt bash, który musi zostać wykonany za pomocą sudo, ale powinien uwzględniać nazwę użytkownika niebędącego sudo, który go wykonał. Więc jeśli użytkownik boburuchomi sudo ./myscript.sh, chciałbym myscript.shwiedzieć, że bobto on go wykonał. Zajrzyjmy do środka myscript.sh: USER=$(whoami) # Do something that takes into account the username. Jak poznać …

4
Monituj użytkownika o zalogowanie się jako root podczas uruchamiania skryptu powłoki
Problem, który otrzymuję, kiedy wpisuję polecenie, su - root na początku mojego pliku skryptu powłoki monituje użytkownika o podanie hasła, a następnie NIE kontynuuje reszty skryptu powłoki. Następnie muszę ręcznie zlokalizować i uruchomić skrypt powłoki za pomocą terminala. Chcę, aby skrypt upewnił się, że użytkownik zaloguje się jako root, a …

3
Dodawanie kolumny wartości w pliku rozdzielanym tabulatorami
Jak mogę dodać kolumnę wartości w pliku, który ma określoną liczbę wierszy. Mam plik wejściowy taki jak ten: Plik wejściowy: SPATA17 1 217947738 LYPLAL1 1 219383905 FAM47E 4 77192838 SHROOM3 4 77660162 SHROOM3 4 77660731 SHROOM3 4 77662248 Plik wyjściowy: SPATA17 1 217947738 file1 LYPLAL1 1 219383905 file1 FAM47E 4 …

2
Wyodrębnianie łańcucha, zgodnie ze wzorem, w skrypcie bash
Załóżmy, że mam ciąg znaków strname: strname="ph7go04325r" Chciałbym wyodrębnić znaki między pierwszym "3" znakiem a ostatnim "r" znakiem w strname, zapisując wynik w ciągu strresult. W powyższym przykładzie wynikiem strresultbyłoby: strresult="25" Pierwszy "3"znak niekoniecznie musi znajdować się w pozycji łańcucha 8 w strname; Podobnie, ostatnia "r"jest nie zawsze w pozycji …


3
Który interpreter powłoki uruchamia skrypt bez shebang?
Załóżmy, że domyślną powłoką dla mojego konta jest zsh, ale otworzyłem terminal i odpaliłem bash i wykonałem skrypt o nazwie prac002.sh, który interpreter powłoki będzie użyty do wykonania skryptu, zsh czy bash? Rozważ następujący przykład: papagolf@Sierra ~/My Files/My Programs/Learning/Shell % sudo cat /etc/passwd | grep papagolf [sudo] password for papagolf: …

4
Jak mogę użyć zmiennej jako warunku przypadku?
Próbuję użyć zmiennej składającej się z różnych ciągów znaków oddzielonych |za pomocą casetestu instrukcji. Na przykład: string="\"foo\"|\"bar\"" read choice case $choice in $string) echo "You chose $choice";; *) echo "Bad choice!";; esac Chcę być w stanie wpisać foolub barwykonać pierwszą część caseinstrukcji. Jednak oba fooi barzabierzcie mnie do drugiego: $ …



2
Jak ustawić globalne zmienne środowiskowe podczas uruchamiania za pomocą skryptu i mieć je dostępne dla aplikacji działającej przed zalogowaniem?
Mam usługę, która działa podczas rozruchu, i w tej usłudze wywołuje skrypt bash w tle, który eksportuje niektóre zmienne środowiskowe. Problem, który mam, polega na tym, że te zmienne środowiskowe nie są wysyłane do elementu nadrzędnego procesu w tle, więc gdy tylko skrypt zakończy wykonywanie, znikają. Ponadto po uruchomieniu skryptu …


4
Jak zamienić spacje we wszystkich nazwach plików na podkreślenia w systemie Linux za pomocą skryptu powłoki?
Próbowałem wykonać następujący skrypt powłoki, który powinien zastąpić spacje ze wszystkich nazw plików xml for xml_file in $(find $1 -name "* .xml" -type f); do echo "removing spaces from XML file:" $xml_file mv "$xml_file" "${xml_file// /_}"; done Załóżmy, że mam plik xml o nazwie xy z.xml, a następnie daje: removing …

4
Jak otworzyć terminal, podzielić na 9 terminali i przełączać się między nimi za pomocą jednego skryptu?
Chciałbym otworzyć terminal, podzielić go na powiedzmy 9 części (3x3) i wykonać skrypt bash. Ale dla każdej części terminalu inny skrypt. Czy można to zrobić za pomocą Perla, Pythona, a nawet Bash? Jak mogę przełączać się między tymi małymi terminalami bez korzystania ze skrótów klawiaturowych? A tak przy okazji, używam …

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.