bash 및 zsh를 처음 접하는 스크립팅 초보자는 이제 Linux에서 많은 테스트 계정을 처리하기 위한 스크립트를 작성해야 합니다.
커맨드aws get-role....
后,cmd中输出显示的是一个json
文本,之后打算使用jq
를 사용하여 키를 기준으로 값 중 하나를 구문 분석합니다. 그런데 처리 중인 계정이 많기 때문에 해당 계정에 해당하는 json 텍스트를 파일 형식으로 저장하여 처리할 수 없는 경우가 있습니다. ?
대략적인 논리는 다음과 같습니다.
최종 목표는 name의 값을 얻는 것입니다name=$(cat (aws get-role....) | jq .Role.Name)
但是我这么写的话系统会提示我zsh: number expected
괄호에 문제가 있는 걸까요? 하나님께 답을 구하십시오.
괄호 문제가 해결된다면 이 방법은 너무 길고 아름답지 않은 걸까요? 저도 스승님의 지도를 부탁드리고 있는데 정말 감사드립니다.
해 보세요:
으아악cat
命令后面跟的是文件名,操作是输出文件内容。然而aws get-role....
输出到STDOUT的并非文件名而是一整个JSON字符串,所以觉得直接用name=$(aws get-role.... | jq .Role.Name)
그렇습니다.