bash脚本中的编号行数如何?

时间:2014-09-23 11:47:57

标签: bash

我正在尝试运行一些bash脚本。我使用crontab,错误邮寄到我的邮件。我收到这个错误:

ERROR 1136 (21S01) at line 8: Column count doesn't match value count at row 1

但是,第8行是:     TABLELIST = “MyListOfTables”

我认为错误是由于MySQL出现的......我错了吗? 所以也许“第8行”不仅仅是我脚本的第8行。是否有计算线的规则?

有我的剧本。你能告诉我“第8行”是什么行吗?

## some text
## some text
## some text
## some text
## some text

VAR1="something"
VAR2="something"       ....LINE 8??? 
VAR3="something"
VAR4="something"
VAR5="something"
VAR6="something"
VAR7="something"
VAR8="something"

# some text

# some text
mysql -D ${VAR4} -pPassword <<EOF
## some text

truncate table table_one;
truncate table table_two;
...

2 个答案:

答案 0 :(得分:1)

此文档是文件文字或输入流文字:它是源代码文件的一部分,被视为单独文件。 因此,此处文档中包含的任何代码都被视为单独的文件,

在你的脚本中

# some text
# The here document starts here
mysql -D ${VAR4} -pPassword <<EOF #line 1 
## some text                      #line 2

truncate table table_one;
truncate table table_two;
...
EOF                               #line n

mysql -D ${VAR4} -pPassword <<EOF开始到此文档结束(EOF)的行作为单独的文件执行,第8行是语句mysql -D ${VAR4} -pPassword <<EOF

中的第7行

答案 1 :(得分:0)

搜索&#34; ERROR 1136&#34;除了&#34; Column&#34;两者都强烈暗示错误来自MySQL而不是shell。看看 mysql -D ${VAR4} -pPassword <<EOF行之后在第八行上终止的查询。