저는 대학에서 배쉬를 가르치기위한 입문 과정을 진행하고 있으며 컬을 사용하여 API에서 잡힌 json 객체를 사용하는 약간의 Motd 스크립트 작업을하고 있습니다..bash의 색인에 줄 바꿈 문자를 삽입하십시오.
나는 이것이 이 아니고이 아니라는 것을 이해하고 싶습니다.하지만 배쉬로 스크립트하는 법에 대해 더 알고 싶습니다.
저는 매우 간단하게 문제가 될 수있는 것으로 갇혀 있음을 발견했습니다. 내 json-object의 'quote'값이 너무 길면 (인덱스 80에서는이 경우) 특정 줄에 새로운 줄 ('\n
')을 삽입하고 싶습니다.
나는 SO 스레드의 무리를 다음 봤는데 이건 내 현재의 솔루션입니다 : 내가 echo
이있는 경우 반면
#!/bin/bash
json_object=$(curl -s 'http://quotes.stormconsultancy.co.uk/random.json')
quote=$(echo ${json_object} | jq .quote | sed -e 's/^"//' -e 's/"$//')
author=$(echo ${json_object} | jq .author)
count=${#quote}
echo $quote
echo $author
echo "wc: $count"
if((count > 80));
then
quote=${quote:0:80}\n${quote:80:(count - 80)}
else
echo "lower"
fi
printf "$quote"
나는 printf
로부터받은 전류 출력은 인용의 첫 번째 단어가있다 문자열 조작을 시도하기 전에 전체 인용문을 얻습니다.
모범 사례 또는 기타 사항을 따르지 않는 경우 유감이지만 저는 vi
과 bash
을 모두 사용하는 절대 초보자입니다.
나는 모든 종류의 조언에 매우 만족할 것입니다. :)
는는 편집이 :은
는 샘플 출력 :
은 $ ./json.bash
은 당신의 이름있는 당신은 동일한 치료를 사용하여 변수 이름을 지정해야은 맏아들 어린이.
"제임스 O. Coplien"높은
86
당신은 당신이 처음 태어난 nchild 이름있는 동일한 치료를 사용하여 변수의 이름을 지정해야합니다.
당신은을 제공해야 모든 변수들의 샘플 출력, 당신을 위해 문제를 해결할 다른 방법은 무엇입니까? 무엇보다도 JSON 출력. 각 단계에 대한 적절한 데이터를 설명하면서 왜이 일을하고 있는지, 그리고 예상했던 일을 설명하십시오. – Inian
... 또한 'bash'의 모든 변수를 큰 따옴표로 묶는 것이 좋습니다. – Inian
샘플 출력을 추가했습니다. 컨텍스트에 관계없이 double on 변수를 사용합니까? 'if'처럼? – geostocker