여러 줄 스크립트를 단일 명령문으로 변환

여러 줄 스크립트를 단일 명령문으로 변환

출력에서 시작 번호를 얻으려면 다음 스크립트를 사용하고 있습니다. 아래와 같이 여러 줄 스크립트가 제대로 작동합니다.

openssl asn1parse -inform der -in $1 | grep id-smime-aa-pattern -A 1 > outfile.txt
startnum=$(cat outfile.txt | cut -f1 -d:)
echo "startnum:$startnum"

outfile.txt의 내용:

7430:d=7 hl=2 l= 11 prim: object:id-smime-aa-pattern
7567:d=7 hl=4 l=5216 단점: SET

산출:

시작 번호: 7430
7567

하지만 한 줄로 이것을 달성하고 싶기 때문에 여러 가지 방법을 시도했지만 할 수 없습니다. 모든 조언이나 도움을 주시면 감사하겠습니다.

startnum=$(cat $(openssl asn1parse -inform der -in $1 | grep id-smime-aa-pattern -A 1) | cut -f1 -d:)

startnum=$(`cat $(openssl asn1parse -inform der -in $1 | grep id-smime-aa-pattern -A 1)` | cut -f1 -d:)

startnum=$(cat $(`openssl asn1parse -inform der -in $1 | grep id-smime-aa-pattern -A 1 | grep id-smime-aa-pattern -A 1`) | cut -f1 -d:)

startnum=$(cat (`openssl asn1parse -inform der -in $1 | grep id-smime-aa-pattern -A 1 | grep id-smime-aa-pattern -A 1`) | cut -f1 -d:)

startnum=$(cat `openssl asn1parse -inform der -in $1 | grep id-smime-aa-pattern -A 1 | grep id-smime-aa-pattern -A 1` | cut -f1 -d:)

startnum=$(`openssl asn1parse -inform der -in $1 | grep id-smime-aa-pattern -A 1 | grep id-smime-aa-pattern -A 1` | cut -f1 -d:)

startnum=$($(`openssl asn1parse -inform der -in $1 | grep id-smime-aa-pattern -A 1 | grep id-smime-aa-pattern -A 1`) | cut -f1 -d:)

답변1

다음이 작동합니다.

echo startnum:"$(openssl asn1parse -inform der -in $1 | grep id-smime-aa-pattern -A 1 | cut -f1 -d:)"

관련 정보