2012-05-07 7 views
4

저는 리눅스를 처음 사용합니다.

export JAVA_HOME =$(readlink -f /usr/bin/java |sed "s:bin/java::") 

내가 $() 내부의 명령이 무엇을 알고 : 나는 bash는 명령을보고하고있어 프롬프트에서 JAVA_HOME 환경 변수를 설정 (? 심지어 올바른 용어이다). 그러나 $()은 무엇입니까? 내가 그것을 포함시키지 않으면 실패했다.

분명히 googling $()이 잘 작동하지 않습니다.

+1

http://tldp.org/LDP/abs/html/commandsub.html - 명령 대체라고합니다. – Mat

답변

1

표현식은 명령을 실행하고 명령의 출력을 대체합니다.

echo $(date) 

그래서 ( sed를 통해 실행 한 후)이 예에서, 그것은 readlink 명령의 출력을 복용하고 JAVA_HOME에 할당 : 이런 식으로 뭔가를 시도하십시오.

자세한 내용은 bash 맨 페이지를 참조하십시오.

+0

설명은 좋지만 예제는 "날짜"와 동일합니다. – jordanm

4

$()을 명령 대체라고합니다. 명령의 출력을 명령 자체로 대체합니다. 당신이 명령 치환을 할 수있는 두 가지 방법에는 기본적으로 :

$(command) 

이나와 역 따옴표

`command` 

가 첫 번째 변종 선호 하나입니다.

명령 대체에 대한 자세한 내용은 here을 참조하십시오.