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.
Jestem trochę zdezorientowany, co te operatory robią inaczej, gdy są używane w bash (nawiasy, podwójne nawiasy, nawiasy i podwójne nawiasy). [[ , [ , ( , (( Widziałem, jak ludzie używają ich, jeśli takie stwierdzenia: if [[condition]] if [condition] if ((condition)) if (condition)
Poniższa składnia bash sprawdza, czy paramnie jest pusta: [[ ! -z $param ]] Na przykład: param="" [[ ! -z $param ]] && echo "I am not zero" Brak wyników i jest w porządku. Ale gdy paramjest pusty, z wyjątkiem jednego (lub więcej) znaków spacji, sprawa jest inna: param=" " # …
Podobno w bash istnieje luka (CVE-2014-6271): Bash, specjalnie spreparowany kod iniekcji kodu zmiennych środowiskowych Próbuję dowiedzieć się, co się dzieje, ale nie jestem do końca pewien, czy to rozumiem. Jak można echowykonać w postaci pojedynczych cudzysłowów? $ env x='() { :;}; echo vulnerable' bash -c "echo this is a test" …
W moim ~/.bashrcpliku znajdują się dwie definicje: commandA, który jest aliasem na dłuższą ścieżkę commandB, który jest aliasem skryptu Bash Chcę przetworzyć ten sam plik za pomocą tych dwóch poleceń, więc napisałem następujący skrypt Bash: #!/bin/bash for file in "$@" do commandA $file commandB $file done Nawet po wylogowaniu się …
Oto przykład użycia cutdzielenia danych wejściowych na pola za pomocą separatora spacji i uzyskania drugiego pola: cut -f2 -d' ' Jak ogranicznik może być zdefiniowany jako tabulator zamiast spacji?
Jeśli od jakiegoś czasu obserwujesz unix.stackexchange.com, powinieneś wiedzieć, że pozostawienie zmiennej niecytowanej w kontekście listy (jak w echo $var) w powłokach Bourne / POSIX (wyjątek to zsh) ma bardzo szczególne znaczenie i nie należy tego robić, chyba że masz ku temu dobry powód. To omówiono obszernie w wielu Q & …
Zostawiłem skrypt działający na zdalnej maszynie od czasu, gdy pracowałem nad nim lokalnie. Mogę połączyć się przez SSH z maszyną jako ten sam użytkownik i zobaczyć uruchomiony skrypt ps. $ ps aux | grep ipcheck myuser 18386 0.0 0.0 18460 3476 pts/0 S+ Dec14 1:11 /bin/bash ./ipchecker.sh Po prostu wyświetla …
Używając systemów kontroli wersji denerwuje mnie hałas, gdy mówi diff No newline at end of file. Zastanawiałem się więc: jak dodać nowy wiersz na końcu pliku, aby pozbyć się tych wiadomości?
Mam problem polegający na tym, że jeśli wpisuję bardzo długie polecenia w bash, terminal nie wyświetla poprawnie tego, co wpisuję. Spodziewałbym się tego, gdybym miał takie polecenie: username@someserver ~/somepath $ ssh -i /path/to/private/key myusername@something.someserver.com Polecenie powinno być renderowane w dwóch wierszach. Zamiast tego często się zawija i zaczyna pisać na …
Chciałbym zmienić rozszerzenie pliku z *.txtna *.text. Próbowałem użyć basenamepolecenia, ale mam problem ze zmianą więcej niż jednego pliku. Oto mój kod: files=`ls -1 *.txt` for x in $files do mv $x "`basename $files .txt`.text" done Otrzymuję ten błąd: basename: too many arguments Try basename --help' for more information
Powiedzmy, że mam następujący alias w bash - alias ls='ls --color=auto'- i chcę zadzwonić zwyczajnie lsbez opcji. Czy jedynym sposobem na to jest odblokowanie, wykonanie polecenia, a następnie ponowne wygenerowanie aliasu? A może jest jakiś fajny trik lub obejście?
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.