Question | Click to View Answer |
Use a while loop to print the numbers 1, 2, 3, 4, and 5 to the Terminal. |
counter=1
while [ $counter -lt 6 ]; do
echo $counter
counter=$(( $counter + 1 ))
done
|
Use an until loop to print the number 1, 2, 3, 4, and 5 to the Terminal. |
i=1
until [ $i -gt 5 ]; do
echo $i
i=$(( $i + 1 ))
done
|
Use while to create an infinite loop that prints 1, 2, and 3 to the Terminal. |
j=1
while true; do
if [[ $j -eq 4 ]]; then
break
fi
echo $j
j=$(( $j + 1 ))
done
The break command causes the loop to exit. |
Use while to create a loop that prints 1, 2, 4, and 5 to the Terminal (notice that 3 is skipped). |
k=1
while [ $k -lt 6 ]; do
if [ $k -eq 3 ]; then
k=$(( $k + 1 ))
continue
fi
echo $k
k=$(( $k + 1 ))
done
The continue command causes the rest of the current loop to be skipped, but does not exit the loop completely like the break command. |
Create a loop that endlessly prints "This never ends...". Then exit from the loop. |
while true; do
echo "This never ends..."
done
Press Control + c to exit the infinite loop. |
Use a for loop to iterate over the list snake, rat, cat and print the words to the Terminal. |
for animal in sake rat cat; do
echo $animal
done
|
Use a for loop to sum the numbers from 1 to 20 (i.e. 1 + 2 + 3 + .. + 20). |
result=0
for i in {1..20}; do
result=$(( $result + $i ))
done
echo $result
|
Explain what the following code prints: blah=
if [ -z $blah ]; then
echo "blah blah blah"
else
echo "no no no"
fi
|
blah blah blah
[ -z $blah ] returns an exit status of 0 if the variable is not assigned to a value. The blah variable is not assigned a value in this example. |
Print the number of characters in the string assigned to the flag variable. flag="stars-n-stripes"
|
echo ${#flag}
|
Use a for loop to find the longest word in the following list: lions, tigers, bears, flying_monkeys. |
longest_word=
for i in lions tigers bears flying_monkeys; do
if [ -z $longest_word ] || [ ${#i} -gt ${#longest_word} ]; then
longest_word=$i
fi
done
echo $longest_word
|
Use the C-style for loop syntax to print the numbers 1, 2, 3, ..., 10. |
for (( i=1; i<11; i=i+1 )); do
echo $i
done
|