-1
Windows 명령 프롬프트에서이를 수행하려고합니다.bash 로그인 쉘에 변수 지정
C:\cygwin64\bin\bash --login -c "$var="<hallo>" &&
echo "$var""
내가 얻을 오류 :
The system cannot find the file specified.
하지만이 작품 :
C:\cygwin64\bin\bash --login -c
"var="hello" && echo "$hello""
그것은 '<'를 얻을 때 문제가 발생할 것으로 보인다로그인 쉘. 쉘 변수에 꺽쇠 괄호가있는 문자열을 어떻게 할당 할 수 있습니까?
따옴표가 꺼져 있고 첫 번째 시도에서 변수 할당에'$'기호가 있습니다. '-c "var = '' ''또는 유사하게 원한다. –
왜 내가 정상적인 bash와는 다른 것들을 언급해야하는지 설명 할 수 있습니까? – sakal
과제에서'$'를 사용하지 않으면 정상적으로 다르지 않습니다. 거기도 인용하고 있지 않습니다. 당신이''var = ""&& echo "$ hello" "라고 말할 때, 외부 문자열에 대한 * 내부 *로 의도 된 따옴표는 쉘에 의해 그렇게 보이지 않습니다. 'var = ""&& echo "$ hello"'(즉, 내부 인용 부호를 남기고있는 외부 인용 부호를 정신적으로 벗겨냅니다). 그 껍질은 그보다 더 벙어리입니다. 따옴표는 왼쪽에서 오른쪽으로 쌍을 이룹니다. 그래서''var = ''는 하나의 따옴표로 묶인 문자열이고''는 따옴표로 묶이지 않고''&& echo "'는 하나의 따옴표 붙은 문자열이고'$ hello'는 따옴표로 묶이지 않고'" "'는 빈 따옴표 붙은 문자열입니다. –