결과 대신 변수 자체를 인쇄하는 방법이 있습니까?
x=`curl -s https://google.com`
예상되는 결과
curl -s https://google.com
누구든지 위의 결과를 얻을 수 있는 방법을 제안할 수 있습니까?
감사해요
답변1
이 변수는 다음과 같이 설정되지 않습니다.
`curl -s https://google.com`
명령 대체는 변수 할당 이전에 발생한 다음 해당 변수를 출력에 할당합니다. 파일에서 읽어서 얻을 수 있다고 생각합니다.
#!/bin/bash
x=$(echo foobar)
awk -F\= '$1 == "x"{gsub(/\$\(|\)/, ""); print $2}' "$0"
$(...)
백틱 대신 명령 대체를 사용해야 하는 데에는 여러 가지 이유가 있으며 아마도 전혀 사용해서는 안 됩니다. 실제 의도를 알려주시면 분명히 더 나은 해결책이 있을 것입니다.
명령을 배열에 저장하고 참조로 사용할 수도 있습니다.
#!/bin/bash
x=(echo foobar)
y=$("${x[@]}")
printf 'x is: %s\ny is: %s\n' "${x[*]}" "$y"
그러면 다음이 출력됩니다.
$ ./script.sh
x is: echo foobar
y is: foobar