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.
To jest kod bash, który powinien zostać uruchomiony. Więc najpierw zastępuje użytkownika openproject, a następnie uruchamia cały kod: su openproject -c "bash -l" cd ~/openproject git checkout Gemfile.lock git pull bundle install RAILS_ENV="production" bundle exec rake db:migrate RAILS_ENV="production" bundle exec rake db:seed RAILS_ENV="production" bundle exec rake assets:precompile Próbowałem zmienić powyższy …
Zadanie polegało mi na utworzeniu skryptu zautomatyzowanego serwera, a jednym z nich był raport wszystkich wyników każdego wykonanego polecenia. Chcę zapisać komunikat o błędzie w ciągu i dołączyć go do pliku tekstowego. Powiedzmy, że uruchomiłem to polecenie: /sbin/modprobe -n -v hfsplus Wynikiem uruchomienia tego na moim komputerze byłoby: FATAL: Module …
Mój obecny kod wygląda następująco: x=${y:0:40}co ogranicza długość łańcucha do 40 znaków. Czy w przypadku ciągów krótszych niż 40 znaków można wypełnić końcowe miejsca spacjami? Więc jeśli mój y="very short text" Chciałbym, aby mój y był: y = „bardzo krótki tekst (+25 spacji końcowych) ”
Jak mogę uzyskać kawałek $@Basha bez konieczności kopiowania wszystkich parametrów pozycyjnych do innej tablicy, takiej jak ta? argv=( "$@" ) echo "${argv[@]:2}";
Jak czytać hasła w skryptach bash w sposób podobny do narzędzi, które nie wyświetlają ich na terminalu? (Zmiana czcionki na czarną na czarną może być trudna dzięki łatwemu kopiowaniu i wklejaniu - więc nie jest to rozwiązanie)
To pytanie nie dotyczy tego, jak napisać poprawnie literał łańcucha znaków. Nie mogłem znaleźć żadnego powiązanego pytania, które nie dotyczyłoby ucieczki przed zmiennymi w celu bezpośredniego wykorzystania w skrypcie lub przez inne programy. Moim celem jest umożliwienie skryptowi generowania innych skryptów. Wynika to z faktu, że zadania w wygenerowanych skryptach …
Biorąc pod uwagę ten minimalny przykład ( echo "LINE 1" ; sleep 1 ; echo "LINE 2" ; ) wyprowadza LINE 1, a następnie po upływie jednej sekundy, wyjścia LINE 2, jak oczekiwano . Jeśli to potokujemy grep LINE ( echo "LINE 1" ; sleep 1 ; echo "LINE 2" …
Z Advanced Bash-Scripting Guide, aby uzyskać ostatni argument wiersza poleceń: Lub: lastarg=${!#} Jest to pośrednie odniesienie do $#zmiennej. Pamiętaj, że lastarg=${!$#}to nie działa.
To: $ echo {{a..c},{1..3}} produkuje to: a b c 1 2 3 Co jest miłe, ale trudne do wyjaśnienia, biorąc pod uwagę to $ echo {a..c},{1..3} daje a,1 a,2 a,3 b,1 b,2 b,3 c,1 c,2 c,3 Czy to gdzieś jest udokumentowane? Bash referencyjny nie wspomina go (mimo że ma przykład …
Proszę wyjaśnić, dlaczego 1 4 5 6 jest wyświetlany dla ostatnich czterech instrukcji echa? Uderzyłem to raz przypadkiem, ale teraz jestem ciekawy, dlaczego tak się dzieje. Te instrukcje działają zgodnie z oczekiwaniami (dla mnie). $ echo [ 9876543210 ] [ 9876543210 ] $ echo [237890] [237890] Te instrukcje echa konsekwentnie …
Szukam do kodu wyświetlane poniżej i sprawdza dane wejściowe jeśli argumenty wiersz / kolumna zacząć albo -rlub -c. Co ${1:0:2}znaczy w tym kontekście? rowArgName="-r" colArgName="-c" if [ "${1:0:2}" != $rowArgName ] && [ "${1:0:2}" != $colArgName ] then echo $correctCmdMsg >&2 exit 1 fi
Błędnie wszedłem chsh -s /usr/bin zamiast chsh -s /bin/bash a teraz nie mogę zalogować się do powłoki roota, jak ręcznie uruchomić powłokę bash jako root?
W bash powiedz, że masz var=a.b.c., a następnie: $ IFS=. printf "%s\n" $var a.b.c Jednak takie użycie IFSdziała podczas tworzenia tablicy: $ IFS=. arr=($var) $ printf "%s\n" "${arr[@]}" a b c Jest to bardzo wygodne, jasne, ale gdzie to jest udokumentowane? Szybki odczyt sekcji dotyczących tablic lub dzielenia wyrazów w …
Chciałbym przekazać parametry do skryptu bash w stylu dd. Zasadniczo chcę ./script a=1 b=43 mieć taki sam efekt jak a=1 b=43 ./script Myślałem, że mogę to osiągnąć za pomocą: for arg in "$@"; do eval "$arg"; done Jaki jest dobry sposób na zapewnienie evalbezpieczeństwa, tzn. Że "$arg"odpowiada statycznemu (bez wykonywania …
Próbuję ls jakieś pliki ze wzorem w katalogu. Chcę tylko zeskanować pierwszy poziom, a nie rekurencyjny. Mój skrypt: for i in $(ls $INCOMINGDIR/*$BUSSINESSDATE*) do echo $i; done Powyższe polecenie skanuje rekurencyjnie. Jak to zrobić, aby skanować tylko katalog pierwszego poziomu?
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.