Tags: #bash #shell #loop #code #gen
#!/usr/bin/env bash
languages=("bash" "go" "javascript" "php" "python" "ruby" "rust" "typescript-fetch")
for lang in "${languages[@]}";
do
for filename in .source-cache/.api-documentation/schemas/*;
do
name=$(basename $filename | cut -f 1 -d '.')
openapi-generator generate -i "${filename}" -g "${lang}" -o "/tmp/api-code-gen/${lang}/${name}/"
done
done
###############################################################################################################
components=(newsbeat-editorial-feed-renderer \
newsbeat-latest-feed-renderer \
newsbeat-most-popular-renderer \
newsbeat-topic-renderer)
ips=()
for item in "${components[@]}"
do
# echo "Y N Y N" passes each item sequentially through to further command prompts
# e.g. our command prompts us to choose instance id
ips+=$(echo "1" | bundle exec bbc-cosmos-tools component ssh $item --env=live | grep -E -o "\d+\.\d+\.\d+\.\d+")
done
echo ${#ips[@]} # count the length of the array
echo $ips
# Alternative way to loop array in bash
for ip in $ips
do
ssh $ip,eu-west-1 id # placing command after ssh prevents tty to drop into session
done