Cách đặt bí danh cp với cp -i theo mặc định


8

Có cách nào tốt để alias lệnh cp file1 file2để cp -i file1 file2?


3
Đó là một ý tưởng tuyệt vời để bí danh các lệnh phá hoại như cp, mv và rm - nhưng không phụ thuộc vào nó ... đặc biệt không phải là root! Bởi vì một ngày nào đó bạn sẽ làm việc với máy tính mà không có bí danh mà bạn mong đợi, và nếu sau đó bạn đã quen với bí danh bắt lỗi của mình, bạn sẽ phải thức tỉnh một cách thô lỗ.
Baard Kopperud

Câu trả lời:


12

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_aliasestô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 bashvà 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.


2

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 .cshrctập tin của bạn .


1
Một người nào đó là người mới sử dụng Unix có khả năng đang sử dụng shell giống như bash, nhưng +1 vì tính hoàn chỉnh :)
một CVn

Cảm ơn Michael. Tuy nhiên, người mới làm việc trong bất cứ điều gì được đưa ra. Và điều đó phụ thuộc chủ yếu vào quản trị viên hệ thống. Thật thú vị, trong khuôn viên trường của chúng tôi, sinh viên có được csh (thậm chí không phải tcsh) làm vỏ mặc định của họ làm việc trên Solaris. Và kể từ khi bài đăng ban đầu nói về người mới Unix , tôi nghĩ rằng ít nhất tôi nên thêm giá trị hai xu của mình.
unxnut

1
 alias cp="cp -i"

Đặt dòng này trong kịch bản khởi động shell của bạn. (có lẽ ~ / .bashrc)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.