我是一个简单的bash脚本
#!/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 在这里做什么。有人可以告诉我吗?
答案 0 :(得分:0)
从mysql的手册页引用:
- skip-column-names,-N
不要在结果中写入列名。
- 批处理,-B
使用制表符作为列分隔符打印结果,每行都在新行上。使用此选项,mysql不使用历史文件。
批处理模式会导致非常规输出格式和特殊字符的转义。可以使用原始模式禁用转义;请参阅--raw选项的说明。
答案 1 :(得分:0)
Here's官方网站,解释了mysql选项的用法。它说:
-N选项:
不要在结果中写入列名。
-B选项:
使用制表符作为列分隔符打印结果,每行都在新行上。使用此选项,mysql不使用历史记录文件。批处理模式会导致非常规输出格式和特殊字符的转义。