A última nova linha do fstab é importante?

4

O que acontece se a última linha do fstab não for terminada por uma nova linha?

Por que as pessoas recebem um aviso quando a última linha não é terminada por uma nova linha?

    
por user4951 25.07.2013 / 08:38

1 resposta

4

Uma linha é uma sequência de caracteres terminada por um caractere de nova linha. Os caracteres que aparecem após a última nova linha de um arquivo não fazem parte de uma linha.

Esse arquivo que possui caracteres após a última nova linha não é um arquivo de texto de acordo com a definição POSIX de um arquivo de texto, e o comportamento dos utilitários de texto não é especificado nesse caso e, na prática, o comportamento varia:

  • Alguns ignoram esses caracteres completamente (pule essa linha não terminada)
  • Alguns consideram isso como uma linha e preservam a ausência de nova linha (como o GNU sed )
  • Alguns consideram isso como uma linha e adicionam de volta a nova linha ausente (como o GNU cut )
  • Alguns comportamentos de utilitários são alterados. Como read , que retorna um status de saída diferente de zero ao ler uma linha não terminada.

Portanto, mesmo se os utilitários mount , swapon , fsck ... (aqueles que normalmente lêem / etc / fstab) entenderem linhas não terminadas, algum script que processa esse arquivo ainda pode falhar. Você deve sempre garantir que os arquivos de texto sejam finalizados por um caractere de nova linha (a menos que estejam vazios). Editores de texto devem fazer isso por padrão. Você geralmente precisa passar por aros para remover os últimos caracteres da nova linha.

    
por 25.07.2013 / 10:31