저는 부주의한 터미널 드라이버이고 실수로 파일을 삭제할까봐 두려워 alias rm='rm -i'
for rm
, mv
, 와 같은 별칭을 사용합니다 cp
. 파일 리디렉션 확인(예 echo "I'm silly" > very_important_file.txt
: )에 대해 유사한 동작을 얻으려면 어떻게 해야 합니까?
일반적인 상황은 내가 보통 추가( >
) 대신 대체( >>
)를 사용하기 때문에 중간 정도의 중요한 파일을 실수로 삭제하게 되는 것입니다. 어떤 제안이 있나요?
답변1
정확한 동작을 얻을 수 있는 방법은 없다고 생각 -i
하지만 noclobber
이미 존재하는 파일을 덮어쓰는 것을 방지하도록 설정했습니다.
이것 좀 봐페이지사용 사례를 확인하세요.
다음과 같은 명령을 시도해 볼 수 있습니다(원하는 경우 시작 파일에 포함).
$ set -o noclobber
예:
$ ls > ls.out
$ set -o noclobber
$ ls > ls.out
bash: ls.out: cannot overwrite existing file
$
고쳐 쓰다:
아래의 유용한 의견에서 @jsbillings가 언급했듯이 다음 noclobber
중 bash
하나를 재정의하려면 다음을 사용할 수 있습니다.>|
나는 주로 tcsh
( csh
variant)를 사용하기 때문에 재정의 연산자는 다음과 같습니다.>!