mais comportamento do comando

2

Alguém pode me explicar sobre o comando mais?

quando eu uso com || ou com && , parece ter um status de true, mesmo quando o arquivo não é encontrado (ao contrário dos outros comandos).

~/Desktop$ more notExists || echo aaa
notExists: No such file or directory
~/Desktop$ more notExists && echo aaa
notExists: No such file or directory
aaa
    
por Hodaya Shalom 24.07.2014 / 18:15

1 resposta

2

O valor de retorno de more é diferente no OSX e no Linux. Execute isto para ver qual é o valor de retorno em seu sabor do Unix:

more file_that_doesnt_exist; echo $?

No OSX, recebo 1 na falha e 0 no sucesso.

No Ubuntu e RedHat Linux, recebo 0 na falha e 0 no sucesso. Isso parece ser um bug.

Outra alternativa seria usar less . Parece retornar códigos de saída corretos no Ubuntu Linux.

Ainda outra alternativa seria usar:

{ cat file_that_doesnt_exist || echo nonexistent; } | more

O comando cat parece retornar os códigos de saída esperados no Linux.

    
por 24.07.2014 / 19:38

Tags