请教一个小小问题

zuoxingyu 2011-05-25 11:13:16
在处理数据库的时候,有时候要去KILL掉一些连接,于是我写了个脚本来处理,如下:

#!/bin/bash
printf "Please enter Key Worlds:\n"
read Key
printf "Please enter your username:\n"
read Username
printf "Please enter your password:\n"
read Password
for id in `mysqladmin -u $Username -p$Password processlist | grep $Key | awk '{print $2}'`
do
mysqladmin -u$Username -p$Password kill ${id}
done


问题1:怎么样在输入password的时候,用*号代替,而不是明文的。
问题2:输入KEY的时候,如果是单个单词还可以,如果中间有空格的多个单词,就出错了。

请指教!
...全文
105 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lgjywjy 2011-05-26
  • 打赏
  • 举报
回复
学习了
zuoxingyu 2011-05-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 justkk 的回复:]

回显问题lz自己解决了

.. grep $Key ..
试试换成grep "$Key"
[/Quote]
回显是可以这样,但是想输出*号这么弄啊?
yong_f 2011-05-25
  • 打赏
  • 举报
回复
问题2:输入KEY的时候,如果是单个单词还可以,如果中间有空格的多个单词,就出错了。

加引号如“ddddddddd dddddddddddd”
abcdef0966 2011-05-25
  • 打赏
  • 举报
回复
$Key

加引号
justkk 2011-05-25
  • 打赏
  • 举报
回复
回显问题lz自己解决了

.. grep $Key ..
试试换成grep "$Key"
zuoxingyu 2011-05-25
  • 打赏
  • 举报
回复
#!/bin/sh
stty -echo
echo -n "Please set your password: "
read p
stty echo
echo -e "\nYour password is: $p"


这样可以关闭回显。
zuoxingyu 2011-05-25
  • 打赏
  • 举报
回复
在线等
freetstar 2011-05-25
  • 打赏
  • 举报
回复
只要完成自己要的功能就好了
zuoxingyu 2011-05-25
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 justkk 的回复:]

你的脚本已经很好了,呵呵
[/Quote]

你太抬举了。
这段脚本就没有中途退出的功能,也没有进行错误处理。
justkk 2011-05-25
  • 打赏
  • 举报
回复
你的脚本已经很好了,呵呵
zuoxingyu 2011-05-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 justkk 的回复:]

输出*就比较麻烦了,这也不是shell的强项

不用做那么完美吧..
[/Quote]

多谢指点。
弱弱的问下,这样的脚本,你们也这么弄么?
justkk 2011-05-25
  • 打赏
  • 举报
回复
输出*就比较麻烦了,这也不是shell的强项

不用做那么完美吧..
最近在研究如何用 易语言 连接oracle数据库,搜集了网上很多源码和请教了一些人都没能测试成功。 经过不懈努力,我终于测通了!哈哈哈哈~ 不过,我想吐槽的是: 在搜集资料过程中,发现很多人都说易语言很难连上oracle,讲真,我也觉得官方不够给力! oracle作为全球第一大数据库厂商,为什么出易语言的官方支持库来适配呢? 虽然说可以通过调用windows的odbc来连,但这对不懂的人来说是很困难的一件事! 所以,真心希望官方能开发出oracle的支持库!!! 在测试过程中,我总结了以下几个需要注意的点: 1、无论你的电脑是32位还是64位,都必须安装32位的oracle客户端。安装类型可以是:管理员、运行时。 2、从oracle 11g以后,oracle官方不再提供32位的客户端安装介质。目前最新的oracle客户端为win32_11gR2_client.zip,可直接从官网下载。 3、选择DRIVER连接时,需要先在$ORACLE_HOME/network/admin/tnsnames.ora文件中的定义的一个连接名,测试成功后再将连接名配置在SERVER(连接服务名)中。 4、选择DSN连接时,需要先在OS系统数据源(32位)中配置好数据源,测试成功后再将数据源名称配置在DSN(数据源)中。 只要你按照以上几点来,就肯定可以用易语言连接oracle,并执行简单查询。 我自己的测试代码已分享出来了,需要oracle客户端的朋友可以去官方下载,也可以私信我。 好了,第一次参加这么盛大的活动,小小意思,请各位看官指点,谢谢!

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧