fstabの最後の行が改行で終わらない場合はどうなりますか?
最後の行が改行で終わらないときに人々が警告を受けるのはなぜですか?
答え1
行は改行文字で終わる一連の文字です。ファイルの最後の改行文字の後に表示される文字は、その行の一部ではありません。
テキストファイルのPOSIX定義によると、最後の改行以降の文字を含むファイルはテキストファイルではなく、この場合、テキストユーティリティの動作は指定されず、実際には動作は異なります。
- 一部はこれらの文字を完全に無視します(終了しない行をスキップ)。
- 一部の人はそれを1行と見なし、改行文字がないことを維持します(例:GNU
sed
) - 一部の人はそれが減っていると考えて、行方不明の改行文字を再追加します(例:GNU
cut
) - いくつかのユーティリティの動作が変更されました。
read
終了しない行を読み取るときにゼロ以外の終了ステータスを返すのと同じです。
mount
したがって、、、 ...ユーティリティ(通常/etc/fstabを読むユーティリティ)が終了しないswapon
行fsck
を理解しても、ファイルを処理する一部のスクリプトはまだ失敗する可能性があります。テキストファイルが空でない限り、常に新しい行で終わっていることを確認してください。テキストエディタはデフォルトでこれを行う必要があります。通常、最後の改行文字を削除するには、いくつかの問題が発生する必要があります。