"Bash 자식스크립트에서 변수 받아와서 다른 자식스크립트에 변수 전달하기"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
2번째 줄: 2번째 줄:
;Bash 자식스크립트에서 변수 받아와서 다른 자식스크립트에 변수 전달하기
;Bash 자식스크립트에서 변수 받아와서 다른 자식스크립트에 변수 전달하기


==방법 1: source + export==
==방법 1: syntaxhighlight + export==
{{소스헤더|parent.sh}}
{{소스헤더|parent.sh}}
<source lang='bash'>
<syntaxhighlight lang='bash'>
#!/bin/bash
#!/bin/bash
source child1.sh
syntaxhighlight child1.sh
export foo
export foo
export bar
export bar
./child2.sh
./child2.sh
</source>
</syntaxhighlight>
{{소스헤더|child1.sh}}
{{소스헤더|child1.sh}}
<source lang='bash'>
<syntaxhighlight lang='bash'>
#!/bin/bash
#!/bin/bash
foo=hello
foo=hello
bar=world
bar=world
echo -- child1 end...
echo -- child1 end...
</source>
</syntaxhighlight>
{{소스헤더|child2.sh}}
{{소스헤더|child2.sh}}
<source lang='bash'>
<syntaxhighlight lang='bash'>
#!/bin/bash
#!/bin/bash
echo -- child2 start...
echo -- child2 start...
echo foo=[$foo]
echo foo=[$foo]
echo bar=[$bar]
echo bar=[$bar]
</source>
</syntaxhighlight>
{{소스헤더|실행결과}}
{{소스헤더|실행결과}}
<source lang='console'>
<syntaxhighlight lang='console'>
$ ./parent.sh  
$ ./parent.sh  
-- child1 end...
-- child1 end...
32번째 줄: 32번째 줄:
foo=[hello]
foo=[hello]
bar=[world]
bar=[world]
</source>
</syntaxhighlight>


==방법 2: set -a ★==
==방법 2: set -a ★==
{{소스헤더|parent.sh}}
{{소스헤더|parent.sh}}
<source lang='bash'>
<syntaxhighlight lang='bash'>
#!/bin/bash
#!/bin/bash
set -a
set -a
source child1.sh
syntaxhighlight child1.sh
./child2.sh
./child2.sh
</source>
</syntaxhighlight>
{{소스헤더|child1.sh}}
{{소스헤더|child1.sh}}
<source lang='bash'>
<syntaxhighlight lang='bash'>
#!/bin/bash
#!/bin/bash
foo=hello
foo=hello
bar=world
bar=world
echo -- child1 end...
echo -- child1 end...
</source>
</syntaxhighlight>
{{소스헤더|child2.sh}}
{{소스헤더|child2.sh}}
<source lang='bash'>
<syntaxhighlight lang='bash'>
#!/bin/bash
#!/bin/bash
echo -- child2 start...
echo -- child2 start...
echo foo=[$foo]
echo foo=[$foo]
echo bar=[$bar]
echo bar=[$bar]
</source>
</syntaxhighlight>
{{소스헤더|실행결과}}
{{소스헤더|실행결과}}
<source lang='console'>
<syntaxhighlight lang='console'>
$ ./parent.sh  
$ ./parent.sh  
-- child1 end...
-- child1 end...
63번째 줄: 63번째 줄:
foo=[hello]
foo=[hello]
bar=[world]
bar=[world]
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==

2020년 11월 2일 (월) 02:39 판

1 개요

Bash 자식스크립트에서 변수 받아와서 다른 자식스크립트에 변수 전달하기

2 방법 1: syntaxhighlight + export

parent.sh
#!/bin/bash
syntaxhighlight child1.sh
export foo
export bar
./child2.sh
child1.sh
#!/bin/bash
foo=hello
bar=world
echo -- child1 end...
child2.sh
#!/bin/bash
echo -- child2 start...
echo foo=[$foo]
echo bar=[$bar]
실행결과
$ ./parent.sh 
-- child1 end...
-- child2 start...
foo=[hello]
bar=[world]

3 방법 2: set -a ★

parent.sh
#!/bin/bash
set -a
syntaxhighlight child1.sh
./child2.sh
child1.sh
#!/bin/bash
foo=hello
bar=world
echo -- child1 end...
child2.sh
#!/bin/bash
echo -- child2 start...
echo foo=[$foo]
echo bar=[$bar]
실행결과
$ ./parent.sh 
-- child1 end...
-- child2 start...
foo=[hello]
bar=[world]

4 같이 보기

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}