화면에 메시지로 표시된 명령을 실행합니다.

화면에 메시지로 표시된 명령을 실행합니다.

특정 명령을 입력하면 화면에 메시지가 여러 번 나타납니다. 제안된 명령 전체를 다시 입력하거나 복사하여 붙여넣어야 합니다. 터미널을 사용하여 동일한 작업을 수행하는 바로가기가 있습니까?

예를 들어

$ vagrant up

메시지는 다음과 같습니다.

Message: Please install the vagrant-vbguest plugin by 
running `vagrant plugin install vagrant-vbguest`

이 명령을 실행하고 싶습니다 vagrant plugin install vagrant-vbguest.

답변1

설치 명령이 백틱으로 인용되고 행이 게시된 개행 문자로 구분되는 경우.

한 가지 예:

msg='Message: Please install the vagrant-vbguest plugin by\nrunning `vagrant plugin install vagrant-vbguest`'


status=$( vagrant up )
cmd=$( echo "$status" | grep -o "by\nrunning \`[a-z \-]*" | cut -d"\`" -f 2 )

또는

cmd=$( echo "$msg" | cut -d"\`" -f 2 )

그런 다음:

# if cmd is not empty
if [[ -n "$cmd" ]]; then
    sudo "$cmd"
fi

또한 메시지가 STDERR에 인쇄되면 다음으로 바꾸십시오.

status=$( vagrant up 2>&1 )

관련 정보