-3
나는 다음과 같은 스크립트를 찾을 수 없습니다 ""실패배쉬 : 목록에 추가하는 것은
list=\(\)
val=123
list+=\(\"$val\"\)
내가하면 잘 작동 터미널에 복사 - 붙여 넣기,하지만 난하려고 할 때 .sh
내부에서 실행하기
file.sh: 9: file.sh: list+=("123"): not found
내가 여기 this 답을 찾았지만, 내가 공간을 사용하지 않는 이후 적용하지 않는 것 : 파일,이 오류가 발생합니다. 그렇지 않으면 내가 Syntax error: "(" unexpected
를 얻을 수 있기 때문에
은 BTW, 나는 스크립트 파일에서 실행하는 경우이 또한 단지 무슨 일이 생긴, (
앞에 \
를 사용합니다.
어떤 오류가 발생합니까?
내가 GNU bash는 일하고 있어요, 버전 4.3.30 (1) -release (x86_64에-PC-리눅스 GNU)
bash를 사용하지 않으므로 오류가 발생합니다. – melpomene
'\ ('는 구문 적으로 의미가 없으므로 (즉, 파서에게 그것이 관리되는 배열임을 알리는 것을 멈추게한다.) 슬래시를 사용하면 쉘에 ** 문법으로 무엇인가를 다루지 않는다. , 그것은 (1) bash가 아니며 (2) 배열을 전혀 가지고 있지 않은'/ bin/sh'로 스크립트를 실행할 때 도움이되지 않습니다. –
... 부수적으로, 이것은 하나입니다 bash 스크립트에'.sh' 확장을 사용하는 것이 나쁜 생각 인 이유는''sh '로 실행하거나'#!/bin/sh'를 사용한다는 잘못된 의미입니다. shebangs와'+ x' 비트는 실행 파일이고 실행 파일은 확장자가 없어야하며'ls.elf'를 실행하지 마십시오 –