2017-10-06 51 views
-1

我有一個簡單的bash腳本這些mysql程序選項-N -B是什麼意思?

#!/bin/sh 
DB_HOST="localhost" 
DB_PASS="pa**w0rd" 
MYSQL="mysql --force --connect-timeout=90 --host=$DB_HOST -u root --password=${DB_PASS}" 

USERS=`$MYSQL -N -B -e "SELECT * FROM users LIMIT 1;" first_db 2> /dev/null` 

INSERT_USER=$($MYSQL -N -B -e "INSERT INTO users (\`username\`, \`password\`) VALUES('Adam', 'pa55word');" first_db 2> /dev/null) 

我知道-e手段執行命令,但我不知道是什麼-N -B在這裏所做的。任何人都可以告訴我嗎?

+3

試試'mysql --help'。 – codeforester

回答

0

從MySQL的手冊頁引用:

--skip-列名,-N

不要寫在成績列名。


--batch,-B

打印結果使用標籤作爲列分離器,具有在一個新行的每一行。使用這個選項,mysql不會使用歷史文件。

批處理模式導致非表格輸出格式和轉義特殊字符。通過使用原始模式可能會禁用轉義;請參閱--raw選項的說明。

0

Here's解釋mysql選項使用的官方網站。它說:

-N選項:

不要在結果寫入列名。

-B選項:使用標籤作爲列分離器,具有在一個新行的每一行

打印結果。使用這個選項,mysql不會使用歷史文件。批處理模式導致非表格輸出格式和特殊字符的轉義。