파일 위치를 모니터링하는 스크립트가 있고 파일이 해당 파일 위치에 복사되는 시나리오가 있습니다 /home/matt/thefile
.
place myfile.txt
이렇게 하면 /home/matt/thefile
덮어쓸 별칭을 원합니다 myfile.txt
.
답변1
기능이 더 적합할 것입니다.
Bourne과 같은 쉘에서:
place() { cp -- "$1" /home/matt/thefile; }
bash
yash
이외 의 셸에서는 posh
이를 다음과 같이 단순화할 수 있습니다.
place() cp -- "$1" /home/matt/thefile
존재하다 fish
:
function place
cp -- $argv[1] /home/matt/thefile
end
존재하다 rc
/ es
:
fn place {
cp -- $1 /home/matt/the/file
}
이는 이러한 쉘에 기능이 없기 때문에 (t)csh
an을 사용해야 하기 때문 입니다(이것이 애초에 별칭이 도입된 이유입니다). 기록 대체를 사용하여 특정 매개변수가 별칭에 전달되도록 허용할 수 있습니다 .alias
csh
(t)csh
alias place 'cp -- \!:1 /home/matt/the/file'
호출되면 다음 위치에 place myfile.txt
복사됩니다 .myfile.txt
~/thefile
사용자의 셸에 관계없이 작동하는 것을 원하는 경우 셸 사용자 정의 파일에 셸 관련 기능/별칭을 추가하는 대신 디렉터리의 명령 검색 경로에 추가하는 스크립트를 만들 수 있습니다. 그것은 다음과 같습니다:
#! /bin/sh -
exec cp -- "${1?Please give the file to copy as argument}" /home/matt/thefile