쉘 스크립트를 작성 중인데 실수로 이름이 변수인 파일을 만들었습니다. 이제 출력 $file
에 포함되어 ls
있으며 제거할 수 없습니다. 어떡해?
답변1
$
다음을 사용하여 탈출 할 수 있습니다 \
.
rm \$file
답변2
너도 할 수 있어
rm '$file'
작은따옴표 안의 내용은 항상 리터럴로 처리되므로 전역 변수와 변수는 확장되지 않습니다.
답변3
기본적으로 이러한 이상한 문자로 문자 그대로 작업을 수행하려면 이스케이프해야 합니다. 쉘에서 이를 수행하는 방법에는 여러 가지가 있습니다. 첫 번째는 이스케이프할 각 문자 앞에 "\"를 추가하는 것입니다. 그래서 당신은 이것을 할 수 있습니다 rm \$file
. 또 다른 방법은 작은따옴표(예: rm '$file'
또는 ) 로 인용하는 것입니다 rm '$'file
. 어떤 사람들은 큰따옴표를 "이스케이프" 수단으로 간주하지만 공백만 이스케이프할 수 있습니다. 예를 들어, 이라는 파일이 있으면 a file
다음을 수행할 수 있습니다.
rm a\ file
또는
rm 'a file'
또는
rm "a file"
답변4
모든 그래픽 파일 관리자는 아무 것도 해석하려고 시도하지 않으므로 상황에 맞는 메뉴를 통해 이를 처리할 수 있어야 합니다.