Saya mencoba membuat skrip dengan echo
memasukkan konten ke dalam file, alih-alih membukanya dengan editor
echo -e "#!/bin/bash n /usr/bin/command args" > .scripts/command
Keluaran :
bash:!/bin/bash:acara tidak ditemukan
Saya telah mengisolasi perilaku aneh ini.
$ echo !
!
$ echo "!"
bash: !: event not found
$ echo #!
#!
$ echo #!/bin/bash
bash: !/bin/bash: event not found
- Mengapa bang menyebabkan ini?
- Apa yang dimaksud dengan “peristiwa” yang dimaksud bash ini?
- Bagaimana cara mengatasi masalah ini dan mencetak “#!/bin/bash” ke layar atau file saya?
Jawaban yang Diterima:
Coba gunakan tanda kutip tunggal.
echo -e '#!/bin/bash n /usr/bin/command args' > .scripts/command
echo '#!'
echo '#!/bin/bash'
Masalahnya terjadi karena bash mencari riwayatnya untuk !/bin/bash. Menggunakan tanda kutip tunggal menghindari perilaku ini.
Linux – Mengonfigurasi, Mengkompilasi, dan Menginstal Kernel Linux Kustom?
Mengapa "nodev" Di /etc/fstab Begitu Penting? Bagaimana Perangkat Karakter Digunakan Untuk Peretasan?