[20180926]bash与分号.txt
--//昨天调试bash shell脚本时遇到的问题,就是分号忘记转义,实际上在basg shell中,表示命令连续执行.
--//例子:
$ date; ls -l a.c
Tue Sep 25 20:00:40 2018
-rwxr-xr-x 1 Administ Administ 68 May 7 2016 a.c
--//如果shell脚本写成如下:
sqlplus -s scott/book <<EOF
$(seq 1 3| xargs -i{} echo select sysdate from dual ; )
quit
EOF
--//执行会报错.如果单独执行:
$ seq 1 3| xargs -i{} echo select sysdate from dual ;
select sysdate from dual
select sysdate from dual
select sysdate from dual
--//你可以发现输出中分号丢失了.
$ seq 1 3| xargs -i{} echo select sysdate from dual \;
select sysdate from dual ;
select sysdate from dual ;
select sysdate from dual ;
--//分号前使用\转义,在执行就没有问题了:
sqlplus -s scott/book <<EOF
$(seq 1 3| xargs -i{} echo select sysdate from dual \; )
quit
EOF
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-2214844/,如需转载,请注明出处,否则将追究法律责任。