почему он заходит в блок if

Я не пишу аргументы типа -a и -p и он захоит в if. Почему ?

while [ -n "$1" ]; do                                          
case "$1" in                                          
    -a) ip=$2 ;;                      
    -p) port=$2 ;;                        
    -d) id=$2 ;;                                                      
    --show) show_snmp_conn             
esac                                                           
shift                                   
done                          
                    
# set it          
if [ -n $ip ] && [ -n $port ]; then    
    echo $ip                       
    echo ok                       
    echo $port                        
    exit                                  
fi 

Ответы (0 шт):