저는 UNIX를 처음 접했고 현재 파일 abc_123_date.zip
이름이 가 되도록 쉘 스크립트를 작성 중입니다 abc_123_12312005
. 해당 문자열을 변수에 저장한 다음 abc_123_*.zip
명령에서 하드코딩하는 대신 사용할 계획입니다. 예를 들어:find
if [ -f ... ]
file_name=abc_123_*.zip
그런 다음 나머지 코드에서는 $file_name
해당 문자열이 필요한 모든 작업 대신 실제 문자열을 사용할 수 있습니다.
이 문자열을 저장하는 가장 좋은 방법은 무엇입니까?
Option 1: file_name=abc_123_*.zip
Option 2: file_name="abc_123_*.zip"
어느 것이 더 나은 선택입니까? 왜?
감사해요!
답변1
파일 이름 와일드카드에 관한 한 파일 이름 와일드카드는 쉘에 중요하지 않기 때문에 선호도의 문제입니다. 따옴표가 있는지 여부에 관계없이 일반(배열이 아닌) 할당에서는 파일 이름 확장 및 토큰화가 발생하지 않습니다.
다른 많은 상황에서도 따옴표가 필요하지만 값에 공백이나 셸 연산자(예 ;
: 등) 가 포함된 경우 (
할당에도 따옴표가 필요합니다 . >
따라서 일부 사람들은 어디에서나 동일한 사용자 정의를 사용하기 위해 여기에서도 사용하기를 원할 수 있습니다.
또한보십시오:언제 큰따옴표가 필요합니까?