设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 综合讨论区 —— LinuxSir.cn
›
shell进阶应用、shell编程
›
求教:脚本内su user后,无法执行后序命令。 ...
返回列表
查看:
1078
|
回复:
3
求教:脚本内su user后,无法执行后序命令。
[复制链接]
十方俱灭
十方俱灭
当前离线
积分
3
IP卡
狗仔卡
发表于 2010-3-24 22:02:56
|
显示全部楼层
|
阅读模式
[root@sid1 /etc/namedb]# cat update_d2.sh
1 #!/bin/sh
2 su lining
3 echo 'test'
4 scp myconfig.ini
lining@d2.myconfig.com
如果我按顺序分别执行以上4行代码,结果完全符合预测。
不过,如果我执行 ./update_d2.sh。貌似只执行了第1,2行代码
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
Celinda
Celinda
当前离线
积分
315
IP卡
狗仔卡
发表于 2010-3-24 23:58:52
|
显示全部楼层
因为你su过去了之后没有退出,当然也就不会执行下面的语句。
shell脚本是逐行执行的.
逐行...
回复
支持
反对
使用道具
举报
显身卡
linwhwylb
linwhwylb
当前离线
积分
105
IP卡
狗仔卡
发表于 2010-3-25 21:43:30
|
显示全部楼层
你的目的是想要su执行一些命令吧?用su -c ‘command‘解决。
1 #!/bin/sh
2 su lining -c 'echo test'
3 su lining -c 'scp myconfig.ini
lining@d2.myconfig.com
'
将上面的单引号括号里面的命令用都好分割,合在一个单引号里面也可以。
回复
支持
反对
使用道具
举报
显身卡
blueskysee
blueskysee
当前离线
积分
36
IP卡
狗仔卡
发表于 2010-4-2 14:45:30
|
显示全部楼层
#!/bin/sh
su -l lining -c "
echo 'test'
scp myconfig.ini
lining@d2.myconfig.com
"
看下这样能执行吗?
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表