우리가 할 때
mv /root/file /root/folder/
그것은 /root/file
로 이동/root/folder
mv
같은 작업을 하고 싶지만 인수가 표시되는 순서를 반대로 바꾸고 싶습니다.
나는 선언하고 싶다별칭(함수 아님)좋다
alias rm="mv /root/folder"
그래서 내가 하고 싶을 때
rm /root/file
해당 특정 파일을 다음 위치로 이동합니다./root/folder
왜 함수를 사용하고 싶지 않습니까?
rm()
키워드가 이미 존재하기 때문에 함수 이름을 지정할 수 없기 때문입니다 rm
.
rm
이 키워드는 우리 모두의 습관이기 때문에 활용하고 싶습니다 .
답변1
개인적으로 나는 이것이 나쁜 생각이라고 생각합니다. 사용하고 싶다면쓰레기또는쓰레기통명령줄에서 설치합니다 trash-cli
.
내가 이것이 나쁜 생각이라고 생각하는 이유:
rm
파일이나 디렉터리를 삭제하는 기존 애플리케이션을 사용하려는 경우 어떻게 됩니까?이미 존재하는 파일과 일치하는 파일 이름을 가진 파일을 이동하면 어떻게 됩니까
/root/folder
?
주목할 가치가 있는 것은저자는 trash-cli
또한 이 별칭이 나쁜 생각이라고 생각합니다., 약간의 경험 후에:
rm을 휴지통에 별칭으로 지정할 수 있나요?
할 수 있지만 그렇게해서는 안됩니다. 처음에는 이렇게 하는 것이 좋은 생각이라고 생각했지만 지금은 마음이 바뀌었습니다.
...
또한, 안드레아대안을 추천하세요:
rm 별칭을 사용하여 사용하지 말 것을 상기시킬 수 있습니다.
alias rm='echo "This is not the command you are looking for."; false'
답변2
alias rm="mv -t /root/folder"
mv
이는 비표준 옵션을 지원하는 경우 수행됩니다 -t
. 바라보다MV(1)--no-clobber
더 많은 옵션을 원하시면 ( / 가 필요할 수도 있습니다 --interactive
).
POSIX 솔루션을 원한다면 기본 rm
(http://pubs.opengroup.org/onlinepubs/9699919799/utilities/rm.html#top)에는 다음과 같은 함수가 있습니다 rm
.
rm() { mv "$@" /root/folder; } # a start