diff --git a/bin/idmgr b/bin/idmgr index ac509a8..b27c411 100755 --- a/bin/idmgr +++ b/bin/idmgr @@ -164,13 +164,15 @@ idm_get () ;; all_id_files) - ls $IDM_DIR_ID/*.env + ls $IDM_DIR_ID/*.env || true ;; id_config) if [ -f "$value" ]; then echo "id=$value" cat $IDM_DIR_ID/$value.env + else + return 1 fi ;; diff --git a/lib/idmgr_mod_id.sh b/lib/idmgr_mod_id.sh index aca395e..e2cffa1 100644 --- a/lib/idmgr_mod_id.sh +++ b/lib/idmgr_mod_id.sh @@ -109,18 +109,23 @@ idm_id_ls () local active for id in $(idm_get all_id); do + + # Check if id is valid + idm_validate id_config $id || continue + # Detect if it is enalbed or not if [ "$id" == "${SHELL_ID-}" ]; then active='*' else active=' ' fi + # Parse the config echo $( eval "$(idm_get id_config $id)" - echo "$active:$id:$common_name ($email)" + echo "$active:$id:${common_name-} (${email-})" ) - done | column -t -s: -o' ' | idm_log DUMP - + done | column -t -s: -o' ' | idm_log DUMP - }