Inilah sesuatu yang menyelesaikan hal yang sama tanpa menggunakan alias. Masukkan ke dalam fungsi di .bashrc:
Andaxx() {
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
.