Linux: alias nhưng có chấp nhận tham số
Nhiều khi ta muốn làm alias các lệnh trong bash nhưng vị trí điền tham số nhiều khi nằm ở giữa lệnh. Ví dụ lệnh copy thì nhiều khi ta đã xác định được thư mục đích rồi nhưng còn file nguồn nhiều thì lại nằm giữa lệnh nên không thể alias được
Mặc định alias không chấp nhận tham số tuy nhiên bash có hỗ trợ làm function. Chỉ cần đưa function vào .bashrc là được
myfunction() {
mv "$1" "$1.bak"
cp "$2" "$1"
}
Trong đó $1 và $2 là 2 parameter của lệnh.Sau khi khai báo function trong .bashrc thực hiện :`source .bashrc`
Sau đó ở bash chỉ cần gọi function là OK
$myfunction [tham số 1] [tham số 2]
Lưu ý đối với câu lệnh scp, nếu file name có dấu colon ( hai chấm) thì phải dùng đường dẫn tuyệt đối :
VD:
scp ./filename.txt destination