Có cách nào tốt để alias lệnh cp file1 file2
để cp -i file1 file2
?
Có cách nào tốt để alias lệnh cp file1 file2
để cp -i file1 file2
?
Câu trả lời:
Bạn nên đặt bí danh trong tập lệnh khởi động của mình:
alias cp='cp -i'
Bạn có thể đặt cái này trực tiếp ~/.bashrc
, nhưng tôi có ~/.bashrc
:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
và trong ~/.bash_aliases
tôi có:
alias realias='source ~/.bash_aliases'
alias cp='cp -i'
alias rm='rm -i'
và khi tôi đã thêm / thay đổi mọi thứ vào tệp đó tôi sẽ làm realias
(điều đó không xóa bí danh khỏi shell đang chạy mà bạn đã lấy ra, cho việc sử dụng đó unalias
).
Nếu bạn làm man bash
và tìm kiếm bí danh, bạn sẽ không tìm thấy ví dụ nhưng:
For almost every purpose, aliases are superseded by shell functions
The (`bash`) shell function alternative for the above alias is:
cp () { command cp -i "$@" ; }
Các hàm shell mạnh hơn, nhưng đối với những thứ đơn giản mà bí danh đủ.
Tôi vẫn có xu hướng sử dụng chúng.
Nếu bạn đang sử dụng bash, câu trả lời của Anthon và michas sẽ hoạt động tốt. Tuy nhiên, nếu bạn đang sử dụng csh hoặc tcsh, lệnh cần thêm sẽ là
alias cp "cp -i"
và bạn sẽ thêm nó vào .cshrc
tập tin của bạn .