나는 기계의 호스트 이름을 추출하고 그 뒤에 존재하는 모든 것을 생략하고 싶습니다 .
. 예를 들어, 명령은 hostname
다음과 같습니다 compute-0-0.local
. 그래서 `cut 명령어를 이렇게 사용했습니다.
# hostname | cut -f 1 -d "."
compute-0-0
이제 그 출력을 변수에 넣고 싶습니다. 다음 명령은 작동하지 않습니다.
# HT=`hostname` | cut -f 1 -d "."
# echo $HT
compute-0-0.local
해결 방법이 있나요?
답변1
대신 이 명령을 사용하십시오. 전체 명령은 백틱으로 묶어야 합니다.
HT=`hostname | cut -f 1 -d "."`
$()
다음을 사용할 수도 있습니다.
HT=$(hostname | cut -f 1 -d ".")
이 명령 대체 구문은 지원되지 않습니다.특정 껍질그러나 원래 Bourne 쉘, csh 및 tcsh는 포함되어 있습니다. 이러한 쉘의 경우 백틱을 사용해야 합니다.