首页 > 应用开发 > IT综合 > 在shell中读入文件,如果取消''反斜杠的转义
cat $SQLFILE | while read -r LINE
-r Backslash does not act as an escape character. The backslash is considered to be part of the
line. In particular, a backslash-newline pair may not be used as a line continuation.
我们来看一下效果:(注意read后面的-r)
[root@im_ctuallot2 dmp-heyf]# cat del_on_db1111.sql
delete from ctulog.db_allot where id='cntaobao[;'[]';
delete from ctulog.db_allot where id='cntaobaogirl's kiss';
delete from ctulog.db_allot where id='cntaobaosxzcdfwehjkil'';
delete from ctulog.db_allot where id='cntaobao江阴的许文强'';
[root@im_ctuallot2 dmp-heyf]# cat debug.sh
#!/bin/bash
DBID=1111
SQLFILE=del_on_db${DBID}.sql
cat $SQLFILE | while read LINE
do
echo -e "$LINE"
done
[root@im_ctuallot2 dmp-heyf]# sh debug.sh
delete from ctulog.db_allot where id='cntaobao[;'[]';
delete from ctulog.db_allot where id='cntaobaogirl's kiss';
delete from ctulog.db_allot where id='cntaobaosxzcdfwehjkil'';
delete from ctulog.db_allot where id='cntaobao江阴的许文强'';
[root@im_ctuallot2 dmp-heyf]# cat debug.sh
#!/bin/bash
DBID=1111
SQLFILE=del_on_db${DBID}.sql
cat $SQLFILE | while read -r LINE
do
echo -e "$LINE"
done
[root@im_ctuallot2 dmp-heyf]# sh debug.sh
delete from ctulog.db_allot where id='cntaobao[;'[]';
delete from ctulog.db_allot where id='cntaobaogirl's kiss';
delete from ctulog.db_allot where id='cntaobaosxzcdfwehjkil'';
delete from ctulog.db_allot where id='cntaobao江阴的许文强'';
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/703656/viewspace-1036950/ ,如需转载,请注明出处,否则将追究法律责任。