Ada dua sintaks untuk substitusi perintah: dengan dolar-tanda kurung dan dengan backticks. Berjalan top -p $(pidof init)dan top -p `pidof init`memberikan hasil yang sama. Apakah kedua cara ini melakukan hal yang sama, atau adakah
Pertanyaan tentang substitusi perintah shell (seperti $ (command) atau `command`), mekanismenya, perbaiki sintaks dll. Jangan bingung dengan aliasing.
Ada dua sintaks untuk substitusi perintah: dengan dolar-tanda kurung dan dengan backticks. Berjalan top -p $(pidof init)dan top -p `pidof init`memberikan hasil yang sama. Apakah kedua cara ini melakukan hal yang sama, atau adakah
Di lingkungan Bash saya, saya menggunakan variabel yang berisi spasi, dan saya menggunakan variabel ini dalam substitusi perintah. Sayangnya saya tidak dapat menemukan jawabannya di SE. Apa cara yang benar untuk mengutip variabel saya? Dan bagaimana saya harus melakukannya jika ini...
Saya punya perintah yang menampilkan data ke stdout ( command1 -p=aaa -v=bbb -i=4). Baris output dapat memiliki nilai berikut: rate (10%) - name: value - 10Kbps Saya ingin menangkap output itu untuk menyimpan 'rate' itu (saya kira pipa akan berguna di sini). Dan akhirnya, saya ingin menilai itu...
Saya ingin membuat file log untuk skrip cron yang memiliki jam saat ini di nama file log. Ini adalah perintah yang saya coba gunakan: 0 * * * * echo hello >> ~/cron-logs/hourly/test`date "+%d"`.log Sayangnya saya mendapatkan pesan ini ketika itu berjalan: /bin/sh: -c: line 0: unexpected...
#!/bin/bash function0() { local t1=$(exit 1) echo $t1 } function0 echomencetak nilai kosong. Saya mengharapkan: 1 Mengapa t1variabel tidak mendapatkan nilai pengembalian perintah keluar -
Saya mencoba perintah $ b=5; echo `$b`; -bash: 5: command not found tetapi tidak mencetak 5 sebagaimana mestinya. Apa yang kulewatkan di sini? Apa arti `(backquote / backtick) dalam perintah? tampaknya mengatakan bahwa `mengevaluasi perintah di dalam dan menggantinya dengan
Saya tahu saya bisa menyelesaikan masalah ini dengan beberapa cara, tapi saya bertanya-tanya apakah ada cara untuk melakukannya hanya dengan menggunakan bash built-in, dan jika tidak, apa cara paling efisien untuk melakukannya. Saya punya file dengan konten seperti AAA B C DDD FOO BAR maksud...
Seperti contoh berikut, dan seperti pada pertanyaan saya baru-baru ini Di bash, kemana pergilah baris char baris baru? , Saya ingin tahu "mengapa" itu terjadi x="$(echo -ne "a\nb\n")" ; echo -n "$x" | xxd -p # Output is: 610a62 # The trailing newline from the 'echo' command # has been "deleted"...
Pertanyaan ini dimigrasikan dari Server Fault karena dapat dijawab di Unix & Linux Stack Exchange. Bermigrasi 2 tahun yang lalu . Salah satu metode instal mudah untuk Docker (misalnya) adalah ini: curl -sSL https://get.docker.com/ | sh Namun, saya juga melihat
Pertimbangkan skrip ini: #!/bin/bash function start { leafpad & echo $! } PID=$(start) echo "PID is $PID" Script tidak melanjutkan melewati penjepit penutupan sampai proses leafpad berakhir, meskipun itu adalah proses latar belakang. Kenapa ini? Apakah mungkin untuk meluncurkan proses...
Jawaban StackOverflow dengan> 3.5K memilih fitur one-liner ini untuk ditugaskan ke DIRdirektori skrip bash saat ini: DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" Saya bingung dengan tanda kutip ganda yang bersarang. Sejauh yang saya tahu, fragmen berikut dikutip ganda: "$(...
Dalam pertanyaan ini seseorang melaporkan masalah menggunakan dokumen di sini dengan kata pembatas yang dikutip di dalam $(...)substitusi perintah , di mana backslash \di akhir baris di dalam dokumen memicu kelanjutan baris baru yang bergabung , sedangkan dokumen yang sama di sini di luar...
for k in {0..49}; do a=$(($((2*$k))+1)); echo $a; done Hai, saya perlu ungkapan yang disederhanakan untuk baris ketiga, mungkin yang tidak menggunakan substitusi
Ini saatnya untuk memecahkan teka-teki yang telah mengganggu saya selama bertahun-tahun ... Saya telah bertemu ini dari waktu ke waktu dan berpikir inilah jalan yang harus ditempuh: $(comm "$(arg)") Dan pikir pandangan saya sangat didukung oleh pengalaman. Tapi saya tidak begitu yakin lagi....
Saya mencoba menjalankan skrip dengan daftar nama file yang dikumpulkan oleh find. Tidak ada yang istimewa, hanya kira-kira seperti ini: $ myscript `find . -name something.txt` Masalahnya adalah bahwa beberapa nama path mengandung spasi, sehingga mereka dapat dipecah menjadi dua nama yang tidak...
Ini adalah pemahaman saya bahwa $(...)sintaks substitusi perintah yang lebih modern lebih disukai daripada `sintaks berbasis lama , karena lebih mudah dan lebih sedikit rawan kesalahan bersarang dan lolos sintaksis. Selanjutnya, tampaknya sebagian besar /bin/shkerang bergaya dalam dukungan...
Menjawab pertanyaan ini membuat saya mengajukan pertanyaan lain: Saya pikir skrip berikut melakukan hal yang sama dan yang kedua harus jauh lebih cepat, karena yang pertama menggunakan catyang perlu membuka file berulang kali tetapi yang kedua hanya membuka file satu kali dan kemudian hanya...
Kode berikut paling menggambarkan situasi. Mengapa baris terakhir tidak menghasilkan char baris baru yang tertinggal? Output setiap baris ditampilkan dalam komentar. Saya menggunakan bash GNU, versi 4.1.5 echo -n $'a\nb\n' | xxd -p # 610a620a x=$'a\nb\n' ; echo -n "$x" | xxd -p # 610a620a...
Saya mencoba menjalankan grep terhadap daftar beberapa ratus file: $ head -n 3 <(cat files.txt) admin.php ajax/accept.php ajax/add_note.php Namun, meskipun saya mencari string yang saya tahu ditemukan dalam file, berikut ini tidak mencari file: $ grep -i 'foo' <(cat files.txt) $ grep -i...
Menurut panduan ref ini : -E (juga -o errtrace) Jika disetel, setiap jebakan pada ERR diwarisi oleh fungsi shell, pergantian perintah, dan perintah yang dijalankan di lingkungan subkulit. Perangkap ERR biasanya tidak diwariskan dalam kasus-kasus seperti itu. Namun, saya harus menafsirkannya...