Mam następujący ifblok w skrypcie bash: if [ ${PACKAGENAME} -eq kakadu-v6_4-00902C ]; then echo "successfully entered if block!!" fi Wykonanie skryptu nie wchodzi do mojego ifbloku, mimo że $PACKAGENAMEjest równe kakadu-v6_4-00902C. Co ja robię
Mam następujący ifblok w skrypcie bash: if [ ${PACKAGENAME} -eq kakadu-v6_4-00902C ]; then echo "successfully entered if block!!" fi Wykonanie skryptu nie wchodzi do mojego ifbloku, mimo że $PACKAGENAMEjest równe kakadu-v6_4-00902C. Co ja robię
Używam bash na Linuksie. Odnoszę sukces z następujących instrukcji if, ale czy to nie powinno zwrócić kodu błędu? if [[ ■ = [⅕⅖⅗] ]] ; then echo yes ; fi Kwadrat NIE jest równy żadnemu ze znaków, więc nie rozumiem, dlaczego dostaję kod sukcesu. Ważne jest dla mnie zachowanie podwójnych nawiasów...
Kiedy piszę to w terminalu test 4 -lt 6 Nie otrzymuję żadnych danych wyjściowych. Dlaczego nie? Potrzebuję tego 0 lub
W Bash dwie liczby całkowite można porównać za pomocą wyrażenia warunkowego arg1 OP arg2 PO jest jednym -eq, -ne, -lt, -le, -gt, i -ge. Te arytmetyczne operatory binarne zwracają wartość true, jeśli arg1 jest odpowiednio równy, nie równy, mniejszy, mniejszy lub równy, większy niż lub większy...
Korzystam z poniższego skryptu, aby przejść dwa dni wstecz, gdy skrypt uruchamia się o dwa dni w roku, a także sprawdzam pierwszy i drugi dzień każdego miesiąca i cofam się o dwa dni wstecz. if [$month="01"] && [$day="01"]; then date="$last_month/$yes_day/$last_year"...
Czy dla wersji Bash wcześniejszych niż „GNU bash, wersja 4.2” istnieją równoważne alternatywy dla -vopcji testpolecenia? Na przykład: shopt -os nounset test -v foobar && echo foo || echo bar # Output: bar foobar= test -v foobar && echo foo || echo bar # Output:...
Załóżmy, że chcę porównać gccwersję, aby zobaczyć, czy system ma zainstalowaną wersję minimalną, czy nie. Aby sprawdzić gccwersję, wykonałem następujące czynności gcc --version | head -n1 | cut -d" " -f4 Wynik był 4.8.5 Napisałem więc proste ifstwierdzenie, aby sprawdzić tę wersję pod kątem...
Pisałem skrypt bash i nagle takie zachowanie się zaczęło: [[ 1 < 2 ]]; echo $? # outputs 0 [[ 2 < 13 ]]; echo $? # outputs 1 ale -ltdziała solidnie: [[ 1 -lt 2 ]]; echo $? # outputs 0 [[ 2 -lt 13 ]]; echo $? # outputs 0 czy <jakoś przypadkowo nadpisałem ? oto skrypt, który napisałem,...
Robi if [[ "$1" = pattern ]]; then hook fi zawsze zachowuj się tak samo jak case "$1" in pattern) hook;; esac czy są jakieś
Zauważyłem, odpowiadając na inne pytanie, testi [są to różne pliki binarne, ale strona [podręcznika się wyświetla test. Czy oprócz wymogu zakończenia ]jest jakaś różnica? Jeśli nie, to dlaczego oddzielają pliki binarne zamiast być dowiązaniami symbolicznymi? (Są również bashwbudowane i bashnie...
Właśnie znalazłem sposób na rozpoczęcie, zshkiedy uruchamiam bashna Windowsie https://www.howtogeek.com/258518/how-to-use-zsh-or-another-shell-in-windows-10/ . Zaleca się dodanie następującego kodu na końcu .bashrc. # Launch Zsh if [ -t 1 ]; then exec zsh fi Co [ -t 1 ]znaczy Czy to po prostu...
Od man bash: CONDITIONAL EXPRESSIONS [...] -a file True if file exists. [...] -e file True if file exists. Jaka jest więc różnica między [ -a $FILE ]i [ -e $FILE ], jeśli w ogóle? Jeśli nie ma prawdziwej różnicy, dlaczego istnieją dwie flagi dla tego samego
Stéphane Chazelas napisał: kilka zasad takich jak zawsze podawaj zmienne Nigdy nie używać -aalbo -ooperatora (użyć kilku [poleceń oraz &&i ||powłoki operatorzy) Bądź [niezawodny dzięki powłokom POSIX. Dlaczego „nigdy nie należy używać operatora -alub -o”? Jak mogę zrobić...
Wbudowane testi [narzędzia mają testy -nt(„nowsze niż”) i -ot(„starsze niż”) w większości powłok, nawet gdy powłoka działa w „trybie POSIX” (dotyczy to również zewnętrznych narzędzi o tych samych nazwach w systemy, do których mam dostęp). Testy te służą do porównywania znaczników czasu modyfikacji...
Problem: Muszę sprawdzić, czy dzisiaj jest czwartek i wykonać różne działania w zależności od wyniku tego warunku. Próbowałem dwóch różnych podejść: Uzyskiwanie nazwy dnia: DAYOFWEEK=$(date +"%a") echo DAYOFWEEK: $DAYOFWEEK if ["$DAYOFWEEK" == "Thu"]; then echo YES else echo...
Jeśli utworzę plik jako użytkownik nieuprzywilejowany i zmienię tryb uprawnień na 400, ten użytkownik zobaczy go jako tylko do odczytu, poprawnie: $ touch somefile $ chmod 400 somefile $ [ -w somefile ] && echo rw || echo ro ro Wszystko dobrze. Ale potem pojawia się root: # [ -w...
Czytam z instrukcji, jak zaplanować skrypt na ostatni dzień miesiąca: Uwaga: bystry czytelnik może zastanawiać się, w jaki sposób można ustawić polecenie wykonywania w ostatnim dniu każdego miesiąca, ponieważ nie można ustawić wartości dayofmonth na pokrycie każdego miesiąca. Ten problem nękał...
Mam skrypt powłoki o nazwie „teleport.sh” w następujący sposób: if [ $1="1" ]; then shift mv "$@" ~/lab/Sun elif [ $1="2" ]; then shift mv "$@" ~/lab/Moon elif [ $1="3" ]; then shift mv "$@" ~/lab/Earth fi Kiedy wykonam: sh teleport.sh 2 testfile Zostało testfileto przeniesione do...
Sprawdziłem mój skrypt za pomocą checkbashism i otrzymałem następujące ostrzeżenia: possible bashism in check_ssl_cert line 821 (test -a/-o): if [ -n "${ALTNAMES}" -a -n "${COMMON_NAME}" ] ; then W sekcji 4.62.4 specyfikacji POSIX znajduję pierwszorzędny -a pierwotny Wykonuje plik binarny...