답변:
글쎄, 내가 생각했던 것보다 쉬웠다 (실제로 쉽지는 않다고 말하자).
gem list rhc --remote --all
다음을 반환합니다 :
*** REMOTE GEMS ***
rhc (0.84.15, 0.84.13, 0.83.9, 0.82.18, 0.81.14, 0.80.5, 0.79.5, 0.77.8, 0.75.9, 0.74.6, 0.74.5, 0.73.14, 0.72.29, 0.71.2, 0.69.6, 0.69.3, 0.68.5)
rhcp (0.2.18, 0.2.17, 0.2.16, 0.2.15, 0.2.14, 0.1.9, 0.1.8, 0.1.7, 0.1.6, 0.1.5, 0.1.4, 0.1.3, 0.1.2)
rhcp_shell (0.2.12, 0.2.11, 0.0.9, 0.0.7, 0.0.6, 0.0.5, 0.0.4, 0.0.3, 0.0.2, 0.0.1)
gem list -ra --pre passenger
(-ra == --remote --all)
zsh
에는 고급 구문 분석 기능이 있으며 이런 식으로 주어진 정규 표현식을 잡을 수 있습니다. 더 안전하려면 (스크립트 나 README에 sth를 넣는 경우) 문자열을 넣어 1-1, 즉 gem list '^rhc$'
등을 전달해야합니다 .
zsh
당신의 도움을 위해이 +1 한 것처럼 의견을 읽고있었습니다 !
--prerelease
베타 버전을 보는 데 사용
RubyGem 's Guide 에 따르면 search
키워드를 사용해야합니다 . 따라서 명령은 다음과 같습니다.
gem search rhc --all
정확한 이름을 사용하려면 다음을 사용하십시오.
gem search ^rhc$ --all
시험판 버전을 포함 시키려면 --pre
gem search ^rhc$ --pre
그리고 zsh
따옴표를 사용하는 경우 :
gem search '^rhc$' --all
--prerelease
베타 버전을 보는 데 사용
@eyalev의 답변을 확장하려면 한 줄에 하나의 버전 목록을 원하면 다음과 같이 하나의 라이너가 있습니다.
gem search '^rspec$' --all \
| grep -o '\((.*)\)$' \
| tr -d '() ' \
| tr ',' "\n" \
| sort
0.0.10
0.1.0
0.1.1
# etc.
이것을 좀 더 재사용 가능하게 만들기 위해 일부 함수를 작성할 수 있습니다 (제한된 bash 기술을 용서하십시오).
function extract_gem_versions() {
echo "$1" \
| grep -o '\((.*)\)$' \
| tr -d '() ' \
| tr ',' "\n";
}
function gem_versions() {
local gem_name="$1";
local pattern="^${gem_name}$";
local vers_str="$(gem search ${pattern} --all)";
extract_gem_versions "$vers_str";
}
gem_versions rspec | sort
0.0.10
0.1.0
0.1.1
# etc.
시험:
gem list [STRING] [options]
예를 들면 다음과 같습니다.
gem list rhc -r
또는 시도하십시오 :
gem list -r rhc
( 문서와 제공된 예제가 서로 모순되는 것처럼 보입니다. 둘 다 시도하십시오 )
설명서를 참조하십시오.
gem list ^rhc$
하고 "--remote"과 플래그를 생략하고 위해 결합 될 수있다 "--all"gem list ^rhc$ -ra