IF-ELSE - Ответ Y | N не работает должным образом

cut -d: -f1 /etc/passwd | sort -r

или

awk -F: '{print $1}' /etc/passwd | sort -r

На самом деле, если вы работаете в системе, которая использует nsswitch (например, большинство, если не все, дистрибутивы Linux и многие другие * nixes эти дней), вам следует использовать getent passwd вместо простого чтения / etc / passwd , поскольку существует множество других возможных источников данных учетной записи пользователя (включая LDAP и nis или yp):

getent passwd | cut -d: -f1 | sort -r
getent passwd | awk -F: '{print $1}' | sort -r
0
21.05.2018, 15:44
2 ответа

Puedes hacerlo de forma compatible

if [ "${RSPN}" = "Y" ] || [ "${RSPN}" = "y" ]

o si está utilizando un bash reciente de todos modos:

if [ "${RSPN^}" = "Y" ]
0
28.01.2020, 02:32

El siguiente script /bin/shinsiste en obtener una respuesta válida del usuario (y volverá a preguntar si el usuario no proporciona un yo un no una palabra que comience con uno de esos dos letras, mayúsculas o minúsculas ).

while true; do
    printf 'IS THIS A PRODUCTION DATABASE? [y/n]: '
    read response

    case "$response" in
        [Yy]*) 
            printf 'PLEASE ENSURE A 7 YEARS RETENTION RMAN_FULL BACKUP TAKEN for %s\n' "$DBTD"
            break
            ;;
        [Nn]*)
            printf 'ERROR: Cannot proceed as 7 Years backup not yet TAKEN for PRODUCTION database. Please take a 7 Years Retention backup and re-run the script again.\n'
            printf 'PLEASE CHECK IF BACKUP IS REQUIRED BEFORE DECOMMISSIONING %s\n' "$DBTD"
            break
            ;;
        *) printf 'Invalid response "%s"\n' "$response"
    esac
done

Si el usuario ingresa Nen su código, parece que desea que se impriman tanto el mensaje de error como el mensaje "POR FAVOR COMPRUEBE". Esta es la razón por la que envío ambos mensajes cuando el usuario ingresa una palabra que comienza con n.

Si desea que siempre se muestre el mensaje "POR FAVOR COMPRUEBE", simplemente mueva esa línea printfhasta el final del script.

2
28.01.2020, 02:32

Теги

Похожие вопросы