결과 대신 변수 자체를 인쇄하는 방법은 무엇입니까?

결과 대신 변수 자체를 인쇄하는 방법은 무엇입니까?

결과 대신 변수 자체를 인쇄하는 방법이 있습니까?

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

관련 정보