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.
Piszę skrypt bash, w którym chcę wyjść, jeśli użytkownik nie jest rootem. Warunkowe działa dobrze, ale skrypt nie kończy działania. [[ `id -u` == 0 ]] || (echo "Must be root to run script"; exit) Próbowałem użyć &&zamiast, ;ale nie działa.
W samouczku bash, który czytam, napisano, że jeśli otworzysz deskryptor pliku do czytania, tj exec 3< echolist Musisz to tak zamknąć, exec 3<&- Jeśli jednak otworzysz deskryptor pliku do zapisu, musisz go zamknąć w następujący sposób: exec 3>&- Jednak kiedy patrzę w Internecie, widzę, jak ludzie otwierają pliki, a następnie …
Próbuję odczytać dane wyjściowe polecenia w bash za pomocą while loop. while read -r line do echo "$line" done <<< $(find . -type f) Mam wynik ranveer@ranveer:~/tmp$ bash test.sh ./test.py ./test1.py ./out1 ./test.sh ./out ./out2 ./hello ranveer@ranveer:~/tmp$ Po tym próbowałem $(find . -type f) | while read -r line do …
Załóżmy, że chcę wykonać sekwencję czterech poleceń, które wcześniej wykonałem. Jeśli pierwszy to 432 w historii poleceń, mógłbym zrobić: $ !432; !433; !434; !435 Jestem ciekawy, czy istnieje bardziej skuteczny sposób na osiągnięcie tego?
Czasem widzę skrypty używać wszystkich tych różnych sposobów cytuje tekst: "...", '...', $'...', i $"...". Dlaczego stosuje się tak wiele różnych rodzajów ofert? Czy zachowują się inaczej lub wpływają na to, co mogę w nich zrobić?
Obecnie pracuję nad skryptem bash, który instaluje i konfiguruje różne programy w standardowym systemie Linux (obecnie Ubuntu). Ponieważ instaluje programy i kopiuje pewną liczbę plików do różnych folderów wymagających podwyższonych uprawnień, już wykonałem standardowe „Potrzebuję podwyższonych uprawnień” - i wychodzę. Chciałbym jednak, jeśli to możliwe, móc pytać użytkownika o hasło …
Rozumiem, czym jest rozszerzenie nawiasów klamrowych , ale nie wiem, jak najlepiej go używać. Kiedy go używasz? Naucz mnie kilku wygodnych i niezwykłych przykładów, jeśli masz własną wskazówkę.
Jeśli wykonam sekwencję poleceń, takich jak: $ ls $ grep abc file.txt a następnie użyj klawisza strzałki w górę, aby uzyskać poprzedni, terminal pokaże ostatnie cmd (które jest greptutaj) Ale jeśli zrobię coś takiego: $ ls $ grep abc file.txt gdzie greppoprzedza się spacjami, naciśnięcie w górę daje ls, a …
podczas określania ls --directory a*należy wymienić tylko katalogi zaczynające się oda* ALE wyświetla listę plików i katalogów zaczynających się od a Pytania : gdzie mogę znaleźć dokumentację na ten temat, poza tym mani infogdzie, jak sądzę, dokładnie się przyjrzałem? czy to działa tylko w BASH?
unset array[0]usuwa element, ale mimo to echo ${array[0]}otrzymuję wartość null, są też inne sposoby, ale jeśli element tablicy zawiera spacje takie jak poniżej array[0]='james young' array[1]='mary' array[2]='randy orton' ale one również nie wykonują zadania array=${array[@]:1} #removed the 1st element teraz chcę, żeby nowa tablica była jak array[0]='mary' array[1]='randy orton' Spacje …
Cześć. Przeczytałem tutaj, że lsof nie jest dokładnym sposobem uzyskania liczby otwartych deskryptorów plików. Zamiast tego zalecił użycie tego polecenia cat /proc/sys/fs/file-nr Chociaż to polecenie wyświetla liczbę FD, w jaki sposób wyświetlasz listę otwartych deskryptorów plików, które to polecenie właśnie policzyło?
Próbuję napisać funkcję powłoki bash, która pozwoli mi usunąć zduplikowane kopie katalogów ze zmiennej środowiskowej PATH. Powiedziano mi, że można to osiągnąć za pomocą polecenia jednoliniowego za pomocą awkpolecenia, ale nie mogę wymyślić, jak to zrobić. Czy ktoś wie jak?
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.