[완료] Bash Script 질문

illos의 이미지

Bash 스크립트로 show_env라는 함수를 만들고 싶습니다.

$ echo $BASH라고 하면
/bin/bash라고 나온다고 가정할 때

show_env BASH 라고 하면

BASH=/bin/bash라고 출력이 나오게 하고 싶습니다.

function show_env
{
tmp = ????
echo $1=$tmp
}

tmp = ???? 부분에 어떻게 해야하나요?
써놓고 보니 질문이 좀 어리버리합니다. 힌트를 주시면 정말로 감사하겠습니다.

inniskun의 이미지

set | grep BASH=

눈에 보이는 모든것은 보이지 않는 것들로 이루워져 있다.
Nobody reachs the Truth~*

눈에 보이는 모든것은 보이지 않는 것들로 이루워져 있다.
Nobody reachs the Truth~*

bloomycat의 이미지

~/.bashrc 내용

function show_env()
{
    tmp="$"$1
    eval "printenv=$tmp"
    echo $1=$printenv
}

실행한 예)

bloomycat@bloomycat:~$ show_env BASH
BASH=/bin/bash
illos의 이미지

bloomycat님께서 제가 궁금했던 부분을 정확하게 알려주셨습니다.

감사합니다.

bushi의 이미지

[bushi@rose GAID]$ function show_env()
> {
>     tmp="$"$1
>     eval "printenv=$tmp"
>     echo $1=$printenv
> }
[bushi@rose GAID]$ 
[bushi@rose GAID]$ show_env BASH
BASH=/bin/bash
[bushi@rose GAID]$ tmp=hello show_env tmp
tmp=$tmp
[bushi@rose GAID]$ 

[bushi@rose GAID]$ function show_env()
> {
>    [ -n "$1" ] && echo $1=${!1}
> }
[bushi@rose GAID]$ show_env
[bushi@rose GAID]$ show_env BASH
BASH=/bin/bash
[bushi@rose GAID]$ 

OTL