GNU/Linux >> Belajar Linux >  >> Linux

Cetak String Termasuk Kutipan Tunggal Dan Karakter Khusus Lainnya?

Bagaimana saya bisa menulis ini dengan skrip AIX dengan benar? Persyaratan saya adalah menulis perintah ini di test.txt:

clock=$(prtconf -s | awk '{print $4,$5}')

Saya mencoba perintah ini:

print 'clock=$(prtconf -s | awk '{print $4,$5}')' > test.txt

Output yang ditulis dalam test.txt memberi saya:

clock=$(prtconf -s | awk {print ,})

Jika saya menggunakan " " kutipan:

print "clock=$(prtconf -s | awk '{print $4,$5}')"

Ini memberi saya langsung ke:

clock=3612 MHz

Bagaimana cara mengatasi ini?

Jawaban yang Diterima:

Anda harus tetap menggunakan tanda kutip tunggal, tetapi kemudian mencetak tanda kutip yang Anda butuhkan dalam output “secara terpisah”, atau menggunakan tanda kutip ganda dan menghindari tanda dolar.

Untuk opsi kedua:

print "clock=$(prtconf -s | awk '{print $4,$5}')" > test.txt

Untuk yang pertama:

print 'clock=$(prtconf -s | awk '''{print $4,$5}''')' > test.txt

(Itu 'text' kemudian lolos dari kutipan tunggal ' lalu 'other text' .)

Demi kelengkapan, perhatikan bahwa print memperluas urutan pelarian karakter garis miring terbalik (ini tidak masalah dalam kasus Anda karena string yang ingin Anda cetak tidak mengandung garis miring terbalik). Untuk menghindarinya, gunakan print -r .


Linux
  1. Cara Memanipulasi Nama File yang Memiliki Spasi dan Karakter Khusus di Linux

  2. Cetak Garis Antara (dan Termasuk) Dua Pola?

  3. Karakter ekor dan wildcard

  1. Membungkus Perintah Yang Termasuk Kutipan Tunggal Dan Ganda Untuk Perintah Lain?

  2. Menggunakan Sed Dengan Karakter Khusus?

  3. Apa Arti Karakter Khusus Dalam Echo {a..z}?

  1. Mengupas tanda kutip tunggal dan ganda dalam sebuah string hanya menggunakan perintah bash / standar Linux

  2. Bagaimana cara mengetik karakter khusus di Linux?

  3. bash:cara menyampaikan argumen baris perintah yang berisi karakter khusus