GNU/Linux >> Belajar Linux >  >> Linux

Membuat alias untuk Sampah

Pertama-tama, Anda tidak menggunakan $ ketika Anda memanggil alias. $ adalah untuk memperluas variabel (dan beberapa hal lain yang tidak terlalu relevan dengan pertanyaan ini).

Namun, kedua, alias berfungsi berfungsi sedikit seperti variabel, dalam arti bahwa mereka (dengan risiko terlalu menyederhanakan sedikit) hanya berkembang menjadi sekumpulan kata. Anda mengatakan ingin melakukan myrm foo , tetapi itu akan meluas ke mv /home/user/Trash/* foo , yang tidak masuk akal.

Solusi sederhana adalah dengan mendefinisikan alias menjadi mv -t /home/user/Trash , yang akan berfungsi karena mv mendukung

mv -t destination_dir  file
sintaks sebagai alternatif untuk

mv filedestination_dir
sintaksis.

Tapi Anda bisa mendapatkan fleksibilitas yang lebih besar dengan fungsi shell. Ini menggabungkan fleksibilitas skrip dengan overhead alias (rendah). Misalnya,

myrm() { mv "[email protected]" /home/user/Trash; }

akan menyebabkan myrm foo untuk ditafsirkan sebagai mv foo /home/user/Trash .


Solusi yang mungkin lebih mudah adalah dengan menggunakan trash-cli kemasan. Kemudian Anda cukup melakukan alias myrm=trash lalu trash foo untuk mencapai apa yang Anda inginkan. Kecuali foo itu sekarang akan pergi ke ~/. local/share/Trash


Masalahnya adalah, dengan mv Anda harus menggunakannya seperti mv source destination .

Dengan alias Anda, sebaliknya mv destination source .

Anda juga tidak memerlukan tanda bintang * pada akhirnya, karena berfungsi dengan tujuan sebagai folder. Pastikan folder Anda /home/user/Trash ada dengan mkdir /home/user/Trash .

Untuk memecahkan ide alias Anda, saya akan merekomendasikan Anda untuk melihat pertanyaan stackoverflow ini:

  • https://stackoverflow.com/q/7131670/7311363

Ini akan mengarah pada solusi itu; harap tambahkan ini ke ~/.bashrc Anda dan lakukan source ~/.bashrc setelah menambahkan:

myrm() {
 /bin/mv "[email protected]" /home/user/Trash/
}

Linux
  1. Tentukan alias di kulit ikan

  2. Mencari string di banyak file di Linux

  3. Bagaimana cara membuat alias untuk jalur yang panjang?

  1. Dua kegunaan hebat untuk perintah cp:pintasan Bash

  2. Bagaimana Cara Mendapatkan Penyelesaian Bash Untuk Alias ​​​​Perintah?

  3. alias nama konfigurasi ssh tidak berfungsi untuk scp

  1. Apakah Rsync ~/foo Target/foo Sama Dengan Rsync ~/foo/ Target/foo/?

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

  3. Bersihkan layar terminal secara nyata