0
쉘 스크립트를 작성 중입니다. 배열 길이를 캡처해야합니다. Array는 하나의 명령의 출력입니다. 나는 다음과 같이 시도하고있다 : N = 0쉘 스크립트의 배열 길이
for pid in $(ps -ef | grep java| egrep "tomcat|jboss|JBoss" | awk '{print $2}') ;
do
array[$N]="$pid"
echo "${#array[@]}"
arraylen=${#array[@]}
if [ $arraylen=1 ]
then
(sleep $sleepTime;jstack ${array[$0]} > jStack_${array[$0]}_prod.txt &)
elif [$arraylen =2]
then
(sleep $sleepTime;jstack ${array[$0]} > jStack_${array[$0]_prod.txt &)
(sleep 10;jstack ${array[$1]} > jStack_${array[$1]}_prod.txt &)
elif [$arraylen =3]
then
(sleep $sleepTime;jstack ${array[$0]} > jStack_${array[$0]}_prod.txt &)
(sleep 10;jstack ${array[$1]} > jStack_${array[$1]}_prod.txt &)
(sleep 10;jstack ${array[$2]} > jStack_${array[$2]}_prod.txt &)
done
도와주세요.
예, 코드가 배열 길이를 검색하는 데 도움이됩니다. 하지만 배열의 길이를 가져온 후 for 루프 안에 다른 명령을 실행해야하므로 for 루프를 사용해야합니다. 내 원래 질문에서 편집 된 코드 블록을 참조하십시오. – user3627319
확인 ** 다양한 결과를 반복하기 위해 ** 편집 ** 섹션을 확인하십시오. – anubhava