1. Delete the BOM and execute the following command under VI.
: Set nobomb
2. cause:
The so-called Bom is the byte order mark, which is a Unicode character that usually appears at the beginning of the text to identify the byte order (big/little endian ), in addition, you can also identify the encoding (UTF-8/16/32)
For UTF-8/16/32, 8/16/32 in their names refer to the number of bits in the encoding unit, that is, their encoding units are 8/16/32 bits, to convert to byte is 1/2/4 bytes, if it is multi-byte, it will involve the byte order, the UTF-8 in a single byte as the encoding unit, so there is no byte order. The main advantage of UTF-8 is that it can be compatible with ASCII, but if you use Bom, this advantage is gone, in addition, the existence of BOM may also lead to some problems. So we need to check and delete BOM in UTF-8 coding.
Reference: http://huoding.com/2011/05/14/78
When the shell script is executed, the following error occurs: Command not found.