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