gem uninstall bundler
bash 스크립트를 실행하려고합니다 . 이 문제는 여러 번들러 버전이 설치되어 있을 때 발생합니다. 버전 번호를 묻는 메시지가 표시되며 마지막 옵션은 모든 번들러 버전을 제거하는 것입니다.
root@testuser:/home/test# gem uninstall bundler -x
Select gem to uninstall:
1. bundler-1.13.7
2. bundler-1.16.0
3. All versions
All versions
텍스트 앞에 표시된 숫자를 입력하고 싶습니다.
비슷한 일을 할 수 있다는 것을 알고 있지만 옵션이 3, 4 또는 임의의 숫자에 표시되는지는 echo -e '3' | gem uninstall bundler
알 수 없습니다 . All versions
그래서 저는 선택 옵션을 구문 분석한 다음 그 앞에 숫자를 넣는 솔루션을 찾고 있습니다.
답변1
or 옵션 gem uninstall
과 함께 사용하면 다음에 설명된 대로 일치하는 모든 버전이 제거될 것이라고 생각합니다 .-a
--all
수동.
귀하의 경우:
gem uninstall bundler -a -x
답변2
나는 이것을 아직 시도하지 않았지만 gem uninstall bundler
당신에게 도움이 될 수도 있습니다.
#launch your process in a subshell and direct the subshell output to a file
#yours will probably read (gem uninstall bundler -x) > count &
(echo title; echo "empty line"; echo "1. option"; echo "2. option" ; echo "3. All Versions"; sleep 10 ) > count &
pid=$! #get the pid of the subshell
disown #to avoid the untidy kill output
sleep 1 #just allow time for the subshell output
kill -9 $pid #kill the dummy process
option=$(grep -i "all versions" count | grep -Po "[^0-9]*[0-9]+")
#grab the option want from the output
rm count #tidy up
echo $option | gem etc.... #launch gem with the known option