에 나는 bash는 스크립트에서이 건너 온 :사용 "^ -"그렙
CONFIG_FILE
는 빌드 스크립트 관련 설정이 일부 구성 파일이
echo -e "${CONFIG_FILE}x" | grep -q "^-"
.
'x'
의 의미는 "${CONFIG_FILE}x"
이고 grep의 -q "^-"
패턴은 무엇을 의미합니까?
감사합니다.
에 나는 bash는 스크립트에서이 건너 온 :사용 "^ -"그렙
CONFIG_FILE
는 빌드 스크립트 관련 설정이 일부 구성 파일이
echo -e "${CONFIG_FILE}x" | grep -q "^-"
.
'x'
의 의미는 "${CONFIG_FILE}x"
이고 grep의 -q "^-"
패턴은 무엇을 의미합니까?
감사합니다.
나는 ${CONFIG_FILE}
후 x
에 어떤 목적이 표시되지 않습니다. 어쩌면 거기가 변수 따옴표를 가지고 있지 않은 스크립트의 이전 버전, 그래서 그들은이 경우
echo -e ${CONFIG_FILE}x
을 썼다는
x
는 변수가 비어있는 경우에도
echo
에 인수가 있음을 보장합니다. 그러나 따옴표로 문제를 해결할 수 있으므로
x
은 더 이상 필요하지 않습니다.
grep -q "^-"
입력의 첫 번째 문자가 -
인지 여부를 테스트합니다. 정규 표현식 ^
은 행의 시작과 일치하고 -
은 자체와 일치합니다. -q
옵션은 grep
에 일치하는 행을 인쇄하지 않도록 지시하며, 일치 여부에 따라 종료 상태를 설정합니다.
echo -e "${CONFIG_FILE}x"
팽창 리터럴 x
하였다 CONFIG_FILE
변수의 값을 출력한다.
grep -q "^-"
그리고 출력이 -
기호로 시작하면 종료합니다.
답변 해 주셔서 감사합니다. 그러나 "^ -"을하는 이유는 무엇입니까? 어떻게 도움이되는지 의미합니다. 나는 이것이 여러 곳에서 일어나는 것을 보았다. 파일에 대한이 검사를 수행하기위한 몇 가지 논리 또는 철학이 있습니까? –