Pertanyaan cara menggunakan $ 1 dalam alias dengan dua argumen


saya harus membandingkan sejumlah file dan saya tidak ingin mengubah perintah di dua tempat sepanjang waktu. jadi saya ingin membuat alias di bash.

alias gd='gvimdiff $1 dir/$1'

sehingga saya bisa dapatkan

gvimdiff res.tex dir/res.tex

hanya dengan mengetik

gd res.tex

7
2018-06-09 18:18


asal




Jawaban:


Anda tidak dapat menggunakan alias dengan cara ini, namun, Anda dapat mendefinisikan fungsi untuk melakukan hal yang sama.

function gd() {
    gvimdiff $1 dir/$1
}

13
2018-06-09 18:24



ada di sana pula untuk melakukannya sebagai satu perintah dalam CLI? - kirill_igum
Itu adalah satu perintah. - Ignacio Vazquez-Abrams
jadi saya melakukan "function gd () {gvimdiff $ 1 dir / $ 1;}" tetapi ketika saya menjalankannya: "gd res.tex", sebagai output saya mendapatkan isi "dir". apakah saya melewatkan sesuatu? - kirill_igum
'function gd () {gvimdiff $ 1 dir / $ 1; } 'bekerja terima kasih - kirill_igum
ya, tidak masalah! Senang untuk membantu! - Wuffers


Alias ​​tidak berfungsi seperti itu. Anda harus dapat menggunakan substitusi histori (mis. !!:1), (tidak, bash tidak memungkinkan itu) atau menentukan a fungsi sebagai gantinya.


4
2018-06-09 18:19



bisakah Anda menyarankan tautan agar saya dapat mengetahui lebih lanjut tentang ini? googling tidak memberi saya banyak - kirill_igum