2014-04-23 3 views
0

쉘 스크립트에서 디버거 명령을 호출하는 방법이 있습니까?쉘 스크립트의 adb/mdb 디버거

핵심 덤프가있는 디렉토리를 반복하는 스크립트가 있습니다. 각 코어 덤프에서 adb 명령을 실행하고 bb 스크립트가 계속 실행될 수 있도록 adb를 종료하려고합니다. 이것은 내가 가지고있는 것입니다 ..

for f in $CORE_DIR/* 
do 
    echo "$f details" >> ${TEMP_RESULT_FILE} 
    adb $f >> ${TEMP_RESULT_FILE} 
    #this is where i need to run the adb exit command which is $q 
done 

스크립트에서 $ q adb 명령을 실행하는 방법이 필요합니다. 현재 스크립트는 $ q를 입력하고 Enter 키를 누르기 전까지 멈 춥니 다.

답변

1

나는 ADB/MDB를 모르는, 현재 모든 Solaris 그것을 사용해 액세스 할 필요는 없지만,이 수도 작업과 같은 :

for f in $CORE_DIR/* 
do 
    echo "$f details" >> ${TEMP_RESULT_FILE} 
    adb $f <<EOF>> ${TEMP_RESULT_FILE} 
myadbcommand  # run your adb command 
\$q    # quit adb 
EOF 

done 

이 ADB는 표준 입력에서 해당 명령을 읽어 경우 , 다음이 작동합니다. {command} << EOF개행{lines of input}개행EOF 구성은입니다.

+1

@gniourf_gniourf 예. '$ q'는 adb 명령으로 확장되어야하는 변수가있을 경우 탈출했다. –

+2

'echo ":: command"| mdb $ file'는 한 줄의 mdb 명령을 실행 한 다음 종료하려는 경우에도 일반적으로 사용됩니다. – alanc

+0

알랜 그것이 내가 찾고 있었던 바로 그 것이다. 그것은 내가 원하는 것처럼 정확하게 작동했습니다. 고맙습니다. 시간을내어 도움을 주신 모든 분들께 감사드립니다. 고맙다. – user2776150