Значение [ $? == 1 ] && return 0

А вот как это сделать без ps :

awk '{ 
    if ("awk" == $1) 
        print "PID:",$2,"EUID:",$12,"EGID:",$13,"Groups:",$14; 
}' /proc/*/status

Заменить "awk" в if тестом, если это необходимо. Удалите тест if и замените идентификатор конкретного процесса на * , если вы хотите проверить конкретный процесс.

2
16.11.2018, 02:38
1 ответ

La expresión $?se evalúa como el código de salida del comando anterior.

&&es un separador de comandos que ejecutará el segundo comando si y solo si el primer comando devuelve un código de salida de cero.

[o testes una herramienta de shell para realizar varias pruebas comparativas.

Debo señalar que ==es la prueba incorrecta para usar aquí, ya que es para comparación de cadenas ; -eqes la prueba de igualdad para comparación numérica .

Entonces:[ $? -eq 1 ] && return 0mirará el código de salida del comando inmediatamente anterior y lo comparará con 1. Si hay una coincidencia, el comando return 0se ejecutará (evitando así lo que supongo que son comandos posteriores en la función en la que se encuentra esta prueba ).

La distinción entre el uso de ==y -eqes que [ 01 -eq 1 ]es verdadero mientras que [ 01 == 1 ]es falso.

8
27.01.2020, 21:52

Теги

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