Kapan saya harus menggunakan -eqvs =vs== misalnya [[ $num -eq 0 ]] [[ $num = 'zzz' ]] Saya telah mengamati pola penggunaan -eq(dan -ne, dll.) Untuk angka dan =untuk string. Apakah ada alasan untuk ini dan kapan saya harus
Kapan saya harus menggunakan -eqvs =vs== misalnya [[ $num -eq 0 ]] [[ $num = 'zzz' ]] Saya telah mengamati pola penggunaan -eq(dan -ne, dll.) Untuk angka dan =untuk string. Apakah ada alasan untuk ini dan kapan saya harus
Dalam Bash, dua bilangan bulat dapat dibandingkan menggunakan ekspresi kondisional arg1 OP arg2 OP adalah salah satu -eq, -ne, -lt, -le, -gt, atau -ge. Operator biner aritmatika ini mengembalikan true jika arg1 sama dengan, tidak sama dengan, kurang dari, kurang dari atau sama dengan, lebih...
Ketika saya mengetik ini di terminal test 4 -lt 6 Saya tidak mendapatkan hasil. Kenapa tidak? Saya membutuhkan 0 atau
Saya menggunakan bash di Linux. Saya mendapatkan kesuksesan dari pernyataan if berikut ini, tetapi tidakkah ini menghasilkan kode gagal? if [[ ■ = [⅕⅖⅗] ]] ; then echo yes ; fi Alun-alun BUKAN sama dengan salah satu karakter, jadi saya tidak melihat mengapa saya mendapatkan kode sukses. Penting...
Saya menggunakan skrip di bawah ini untuk mundur dua hari ketika skrip berjalan mulai dua hari dalam setahun dan juga memeriksa hari pertama dan kedua setiap bulan dan mundur dua hari. if [$month="01"] && [$day="01"]; then date="$last_month/$yes_day/$last_year"
Untuk versi Bash sebelum "GNU bash, Versi 4.2" apakah ada alternatif yang setara untuk -vopsi testperintah? Sebagai contoh: shopt -os nounset test -v foobar && echo foo || echo bar # Output: bar foobar= test -v foobar && echo foo || echo bar # Output:
Misalkan saya ingin membandingkan gcc versi untuk melihat apakah sistem memiliki versi minimum yang diinstal atau tidak. Untuk memeriksa gccversinya, saya menjalankan yang berikut ini gcc --version | head -n1 | cut -d" " -f4 Outputnya adalah 4.8.5 Jadi, saya menulis ifpernyataan sederhana...
Saya sedang menulis skrip bash dan tiba-tiba perilaku ini dimulai: [[ 1 < 2 ]]; echo $? # outputs 0 [[ 2 < 13 ]]; echo $? # outputs 1 tapi -ltbekerja dengan baik: [[ 1 -lt 2 ]]; echo $? # outputs 0 [[ 2 -lt 13 ]]; echo $? # outputs 0 Apakah saya <entah bagaimana secara tidak sengaja...
Saya perhatikan ketika menjawab pertanyaan lain itu testdan [biner yang berbeda, tetapi halaman [manualnya naik test. Selain persyaratan akhir ], apakah ada perbedaan? Jika tidak, mengapa mereka memisahkan biner alih-alih disinkronkan? (Mereka juga bashbuiltin, dan bashjuga tidak menunjukkan...
Saya baru saja menemukan cara untuk memulai zshketika saya memulai bashdi Windows dari https://www.howtogeek.com/258518/how-to-use-zsh-or-another-shell-in-windows-10/ . Disarankan untuk menambahkan kode berikut di akhir .bashrc. # Launch Zsh if [ -t 1 ]; then exec zsh fi Apa [ -t 1...
Apakah if [[ "$1" = pattern ]]; then hook fi selalu berperilaku sama dengan case "$1" in pattern) hook;; esac atau ada
Dari man bash: CONDITIONAL EXPRESSIONS [...] -a file True if file exists. [...] -e file True if file exists. Jadi apa perbedaan antara [ -a $FILE ]dan [ -e $FILE ], jika ada? Jika tidak ada perbedaan nyata, mengapa ada dua bendera untuk tujuan yang
Built-in testdan [utilitas memiliki tes -nt("lebih baru dari") dan -ot("lebih tua dari") di sebagian besar shell, bahkan ketika shell berjalan dalam "mode POSIX" (juga berlaku untuk utilitas eksternal dengan nama yang sama pada sistem yang saya punya akses). Tes ini untuk membandingkan cap waktu...
Stéphane Chazelas menulis: beberapa aturan suka selalu mengutip variabel jangan pernah gunakan operator -aatau -o(gunakan beberapa [perintah dan operator &&dan ||shell) Dapat [diandalkan dengan cangkang POSIX. Mengapa "tidak pernah menggunakan -aatau -ooperator"? Bagaimana...
Saya membaca dari sebuah instruksi untuk menjadwalkan sebuah skrip pada hari terakhir bulan itu: Catatan: Pembaca yang cerdik mungkin bertanya-tanya bagaimana Anda dapat mengatur perintah untuk dieksekusi pada hari terakhir setiap bulan karena Anda tidak dapat menetapkan nilai dayofmonth untuk...
Masalah: Saya perlu memeriksa apakah hari ini hari Kamis dan melakukan tindakan yang berbeda berdasarkan hasil dari kondisi ini. Saya mencoba dua pendekatan berbeda: Mendapatkan Nama Hari: DAYOFWEEK=$(date +"%a") echo DAYOFWEEK: $DAYOFWEEK if ["$DAYOFWEEK" == "Thu"]; then echo YES else echo...
Saya memiliki skrip shell bernama 'teleport.sh' seperti ini: 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 Ketika saya mengeksekusi: sh teleport.sh 2 testfile Ini testfiledipindahkan ke...
Jika saya membuat file sebagai pengguna yang tidak berhak, dan mengubah mode izin menjadi 400, itu dilihat oleh pengguna itu sebagai hanya-baca, dengan benar: $ touch somefile $ chmod 400 somefile $ [ -w somefile ] && echo rw || echo ro ro Semua baik-baik saja. Tapi kemudian root...
Saya memeriksa naskah saya dengan checkbashisms dan saya mendapat peringatan berikut: possible bashism in check_ssl_cert line 821 (test -a/-o): if [ -n "${ALTNAMES}" -a -n "${COMMON_NAME}" ] ; then Di bagian 4.62.4 dari spesifikasi POSIX yang saya temukan primary -a primer Melakukan biner dan...
Saya mendapatkan apa yang saya harapkan ketika melakukan ini di bash: [ "a" == "a" ] && echo yes Itu memberi saya yes. Tetapi ketika saya melakukan ini zsh, saya mendapatkan yang berikut: zsh: = not found Mengapa perintah yang sama ( /usr/bin/[) berperilaku berbeda di shell yang...