명령으로 문장을 계속하는 방법

명령으로 문장을 계속하는 방법

예를 들어, 나는 내 스크립트 파일에 "10명이 현재 온라인 상태입니다"라고 말하려고 했습니다.

다음 줄의 "지금 현재 온라인에 있는 사람" 부분 없이는 명령을 실행할 수 없는 것 같습니다.

지금 이 순간 나는

w='who | wc -l' 
echo "There are $w people online at the moment" 

그러나 나는 항상 출력을 얻습니다.

There are who | wc -l users online at the moment 

명령이 중간에 작동하도록 하는 방법은 무엇입니까? 예제를 보고 복사하려고 노력했지만 명령 대체 문제에는 도움이 되지 않는 것 같습니다.

답변1

원하는 출력

who | wc -l

에 할당된 w문자열이 아니라 주변에 따옴표가 있어서 얻을 수 있는 문자열입니다. 명령 대체를 사용해야 합니다 $(...).

w=$(who | wc -l)
echo "There are $w people online at the moment"

(백틱을 사용할 수도 있지만 쉽게 중첩할 수는 없습니다).

답변2

또 다른 해결책:

echo There are $(who | wc -l) people online at the moment

답변3

명령을 실행하려면 백틱을 사용해야 합니다.

w=`who | wc -l` echo "There are $w people online at the moment"

관련 정보