CLI "휴지통"을 생성하기 위한 별칭 ​`rm`

CLI "휴지통"을 생성하기 위한 별칭 ​`rm`

우리가 할 때

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

관련 정보