test=`/bin/basename \`/bin/ps -p $$ -ocomm=\`` 가 어떻게 작동되는건지 궁금합니다.

s0ulhacker의 이미지


test=`/bin/basename \`/bin/ps -p $$ -ocomm=\``

위와 같이 실행하고 echo $test 를 실행하면
bash 라는 결과가 나옵니다.

test=`/bin/basename \`/bin/ps -p $$ -ocomm=\``

이 명령이 어떻게 실행되서 test 에 bash 라는 값이 들어가는건지 도무지 모르겠습니다.

아시는 분 설명해주시면 정말 감사드리겠습니다.

jongi의 이미지

echo $$ 해보세요. 자신의 쉘 환경 PID가 출력됩니다.
ps -p $$ 를 하면 자신의 쉘 PID를 갖고 ps 명령이 실행됩니다.
-o comm= 옵션은 ps 명령 출력에서 이름만 출력합니다.
그 결과를 basename이 받아서 출력하는 겁니다.

--
종이한장 * 이성으로 비관하더라도 의지로 낙관하라! (그람시)

익명 사용자의 이미지

^^