Bash script for an ABC organization fulfilling the following requirements
Better comments
You have put a comment on almost every line that just restates what the code already says and does not add any information or clarification.
This is a bad practice!
A comment that states &quot;this is an if statement&quot; makes the code less readable, by doubling the length of a line with no added value.
When adding a comment, you should only do so if it provides information that is not in the code, or is difficult to extract from the code given average knowledge of the programing language.
Input validation
It is customary to check all user input before using it in your code.
Unless you have been explicitly instructed to assume that the input is valid, you should add some code, for example to make sure age is actually a number.
Also, you may want to check for cases where age &gt;= 60 i.e. the employee is about to retire, or has retired already.
Better flow control
The long if elif else tree where you calculate the bonus should be replace with a case statement.
This will make the code shorter, more readable, and make adding or removing bonus options easier.
Also, store bonus multiplier in a variable to avoid repeating code:
case $designation in
    &quot;Higher-Management&quot;)
        hour_bonus=1000
        ;;
    
    &quot;Lower-management&quot;)
        hour_bonus=800
        ;;

    &quot;Other staff&quot;)
        hour_bonus=500
        ;;

     *)
        hour_bonus=0
        ;;
esac

bonus=$((hours * hour_bonus))

Note, that you could also add shopt -s nocasematch before the case block to make the comparison case insensitive, so that if your user forgets to type capital letters (or forgets the caps lock on) your code can still match the designation to the proper bonus value.