GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Menghindari Kutipan Di Shell?

Saya mengalami masalah dengan melarikan diri karakter di bash. Saya ingin menghindari tanda kutip tunggal dan ganda saat menjalankan perintah di bawah pengguna yang berbeda. Untuk keperluan pertanyaan ini, katakanlah saya ingin menampilkan yang berikut ini di layar:

'single quote phrase' "double quote phrase"

Bagaimana saya bisa keluar dari semua karakter khusus, jika saya juga perlu beralih ke pengguna lain:

sudo su USER -c "echo "'single quote phrase' "double quote phrase"""

Tentu saja, ini tidak memberikan hasil yang tepat.

Jawaban yang Diterima:

Anda dapat menggunakan sintaks literal string berikut:

> echo $''single quote phrase' "double quote phrase"'
'single quote phrase' "double quote phrase"

Dari man bash

Kata-kata dalam bentuk $'string' diperlakukan secara khusus. Kata diperluas
menjadi string, dengan karakter yang lolos dari garis miring terbalik diganti seperti yang ditentukan oleh
standar ANSI C
. Urutan escape backslash, jika ada, didekodekan sebagai berikut:

          a     alert (bell)
          b     backspace
          e
          E     an escape character
          f     form feed
          n     new line
          r     carriage return
          t     horizontal tab
          v     vertical tab
          \     backslash
          '     single quote
          "     double quote
          nnn   the eight-bit character whose value is the octal value nnn (one to three digits)
          xHH   the eight-bit character whose value is the hexadecimal value HH (one or two hex digits)
          cx    a control-x character

Linux
  1. Kapan Mengutip Ganda Diperlukan?

  2. Apa Mnemonic yang Baik Untuk Shell Double Vs. Kutipan Tunggal?

  3. Cara Mengganti Shell di Linux

  1. Saat menggunakan printf bagaimana cara keluar dari karakter khusus dalam skrip shell?

  2. Bagaimana caranya:Riwayat Bash/Shell yang tidak terbatas?

  3. Bagaimana cara melarikan diri! dalam kata sandi?

  1. Mengapa Halaman Man Unix Menggunakan Double Backticks Di Tempat Dari Kutipan Ganda?

  2. Bagaimana Cara Memeriksa Apakah Shell Masuk/interaktif/batch?

  3. cara menghapus tanda kutip ganda di csv