#!/bin/bash
echo "$(curl -s -I https://google.com|grep Server)" abc
kembali:
abcer: gws
dan bash -x
menunjukkan:
++ grep Server
++ curl -s -I https://google.com
' abco 'Server: gws
abcer: gws
tapi
echo abc "$(curl -s -I https://google.com|grep Server)"`
kembali
abc Server: gws
Dengan kata lain, jika saya menambahkan teks SETELAH perintah curl, itu akan rusak, tapi tidak apa-apa jika saya menambahkannya sebelum curl.
Apa yang terjadi? Saya tidak bisa mengetahuinya.
Jawaban yang Diterima:
echo $(curl -s -I https://google.com|grep Server)|cat -A
menunjukkan bahwa nilai yang dikembalikan oleh curl memiliki ^M (carriage return). Saat Anda mencetak output dari curl, carriage return membawa 'kursor' kembali ke awal baris, di mana ia kemudian mencetak 'abc', menimpa 'Serv'.
Dalam upaya kedua Anda, carriage return tidak memiliki efek yang jelas.
Bisakah Anda Menempatkan Beberapa Script yang Dapat Dieksekusi Dalam Satu Direktori, Dan Dengan Sumber Direktori Itu Membuat Semua Perintah Itu Tersedia?
Bagaimana Menghubungkan Dan Mengirim Data Ke Port Serial Bluetooth Di Linux?