옵션은 $를받을 수 있나요 :어떻게 (/ 빈 /의 printf -6) 생각 반환 -6하지 -6 나는 라인을 가지고 bash 쉘 스크립트를
g=$(/bin/printf ${i})
${i}
뭔가를 포함 -6
처럼 printf
은 옵션이 전달 된 것으로 생각합니다. 옵션을 인식하지 못하므로 오류가 발생합니다.
따옴표 안에 ${i}
을 감싸는 경우, printf
은 여전히 옵션이 전달된다고 생각합니다. 나는 따옴표를 벗어날 경우
g=$(/bin/printf "${i}")
는 변수 $g
는 나도 원하지 않을 것이다 "-6
"을 보유하고 있습니다.
g=$(/bin/printf \"${i}\")
대시 (-)를 벗어날 수 있습니까?
의 printf는
이 작동합니다 - 스크립트가하지 않는 이유가 있다고 생각합니다 이미. 그냥 에코를 사용하면됩니다. 그러나 그것은 현재 작동하지만, 더 나은 해결책을 가진 누군가라면, 나는 흥미로울 것이다. – Andrew
글쎄, % d의 질문 일 뿐이라면 ...'g = $ i'를 할 수 있고 다른 프로세스를 전혀 호출하지 않고 끝낼 수 있습니다. – ndim
$ {i}은 아무거나, 숫자, 문자열 등일 수 있습니다. '-'로 시작하는 값은 printf를 실패하게 만듭니다. – Andrew