특정 파일에 파일을 복사하기 위한 별칭

특정 파일에 파일을 복사하기 위한 별칭

파일 위치를 모니터링하는 스크립트가 있고 파일이 해당 파일 위치에 복사되는 시나리오가 있습니다 /home/matt/thefile.

place myfile.txt이렇게 하면 /home/matt/thefile덮어쓸 별칭을 원합니다 myfile.txt.

답변1

기능이 더 적합할 것입니다.

Bourne과 같은 쉘에서:

place() { cp -- "$1" /home/matt/thefile; }

bashyash이외 의 셸에서는 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)cshan을 사용해야 하기 때문 입니다(이것이 애초에 별칭이 도입된 이유입니다). 기록 대체를 사용하여 특정 매개변수가 별칭에 전달되도록 허용할 수 있습니다 .aliascsh(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

관련 정보