taosicai 发表于 2013-07-19 11:06

sh脚本中用isql语法请教_在线等

大家好,
我要在sh脚本中运行isql,语法细节问题,特来向各位专家请教
以root用户运行
echo "*********************************"
echo "# ps -ef"
ps -ef
echo "*********************************"
echo "# su - sybase"
su - sybase <<EndOfUser
echo "*********************************"
echo "$ isql -Usa -E -Sserver_Name"
isql - Usa -P -Sserver_Name
; select "*********************************"
; go
; select "$ Sp_helpgroup"
; go
; Sp_helpgroup
; go
; select "*********************************"
; go
; select "$ Sp_helpuser"
; go
; Sp_helpuser
; go
quit
echo "*********************************"
EndOfUser

1、请问,在脚本中直接这样写行不行?
2、每个命令行前面需要不需要分号和空格
3、每个命令就得一个go吗,只放一个在未尾行不行?
4、isql -E可以忽略密码吗?-U和sa之间有空间呈?

andkylee 发表于 2013-07-19 12:37

改为下面:
echo "*********************************"
echo "# ps -ef"
ps -ef
echo "*********************************"
echo "# su - sybase"
su - sybase
echo "*********************************"
echo "$ isql -Usa -E -Sserver_Name"
isql - Usa -P -Sserver_Name <<EOF
select "*********************************"
go
select "$ Sp_helpgroup"
go
sp_helpgroup
go
select "*********************************"
go
select "$ Sp_helpuser"
go
sp_helpuser
go
quit
echo "*********************************"
EOF

taosicai 发表于 2013-07-19 13:36

万分感谢!
解决了我的疑问
但是su - sybase后面没了EndOfUser,下面的脚本会不会报错呀?

iqlife 发表于 2013-08-06 14:25

1、请问,在脚本中直接这样写行不行?
自己试试就知道了
2、每个命令行前面需要不需要分号和空格
   不需要,ase里不需要,IQ里可要可不要
3、每个命令就得一个go吗,只放一个在未尾行不行?
    不行,必须每个命令go
4、isql -E可以忽略密码吗?-U和sa之间有空间呈?
   空格可加可不加

taosicai 发表于 2013-08-06 14:41

回复 4# iqlife


    兄弟,谢谢您。
正确结果是:
echo "*********************************"
echo "# su - sybase"
su - sybase <<EndOfUser
echo "*********************************"
echo "$ isql -Usa -E -Sserver_Name"
isql -Usa -P -SSYBASE <<EndOfApp
select "*********************************"
go
select "$ select @@version"
go
select @@version
go
select "*********************************"
go
select "$ sp_helpgroup"
go
sp_helpgroup
go
select "*********************************"
go
select "$ sp_helpuser"
go
sp_helpuser
go
select "*********************************"
go
select "$ sp_helpdevice"
go
sp_helpdevice
go
select "*********************************"
go
select "$ use master"
go
use master
go
select "*********************************"
go
select "$ select * from syslogins"
go
select * from syslogins
go
select "*********************************"
go
select "$ sp_helpdb"
go
sp_helpdb
go
go
select "$ sp_help"
go
sp_help
go
quit
EndOfApp
echo "*********************************"
EndOfUser
页: [1]
查看完整版本: sh脚本中用isql语法请教_在线等