GNU/Linux >> Belajar Linux >  >> Linux

perintah bash alias dengan tanda kutip tunggal dan ganda

Inilah sesuatu yang menyelesaikan hal yang sama tanpa menggunakan alias. Masukkan ke dalam fungsi di .bashrc:

Anda
xx() {
    svn status | awk '$1 =="M"{print $2;}'
}

Dengan cara ini Anda tidak perlu khawatir tentang mendapatkan penawaran yang tepat. Ini menggunakan sintaks yang sama persis seperti yang Anda lakukan pada baris perintah.


Anda hanya perlu menghindarinya dengan benar.

alias xxx="svn status | awk '\$1 ==\"M\"{print \$2;}'"

Sejak Bash 2.04 ada cara ketiga (lebih mudah) selain menggunakan fungsi atau melarikan diri seperti yang dilakukan @ffledgling:menggunakan sintaks literal string (inilah jawaban yang bagus).

Jadi misalnya jika ingin membuat alias dari onliner ini maka akan menjadi:

alias snap-removedisabled=$'snap list --all | awk \'$5~"disabled"{print $1" --revision "$3}\' | xargs -rn3 snap remove'

Jadi Anda hanya perlu menambahkan $ di depan string dan keluar dari tanda kutip tunggal.

Ini membawa peringatan shellcheck yang mungkin bisa Anda nonaktifkan dengan aman dengan # shellcheck disable=SC2139 .


Linux
  1. Membuka file .tar.gz dengan satu perintah

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

  3. Alias ​​​​dengan variabel di bash

  1. Pertahankan Kutipan dalam argumen bash

  2. '&&' vs. '&' dengan perintah 'test' di Bash

  3. Bash jika dalam satu baris

  1. Impor fungsi dan variabel ke Bash dengan perintah sumber

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

  3. Bagaimana Cara Menonaktifkan Alias ​​​​Di Bash Untuk Satu Perintah??