免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1586 | 回复: 8
打印 上一主题 下一主题

不用exit应该用什么? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-03-16 11:19 |只看该作者 |倒序浏览
我在shell中要su 其他用户:
如:
TIME=`date +%y%m%d-%H`
FILEWK="/sybase/backup/wkdb${TIME}.dat"
FILEHIS="/sybase/backup/hisdb${TIME}.dat"
su - sybase
isql -Usa -P
dump database WKDB to $FILEWK
sleep 5
dump database HISDB to $FILEHIS
exit       //有问题如何解决
if  tar cv8  $FILEWK
echo "wkdb backup complete"
if  tar cv8  $FILEHIS
echo "hisdb backup complete"

但若要退出该用户时用exit恐怕会终止当前shell,请问应该用什么指令退出
sybase用户。           

论坛徽章:
0
2 [报告]
发表于 2003-03-16 12:49 |只看该作者

不用exit应该用什么?

对不起!应该是:
TIME=`date +%y%m%d-%H`
FILEWK="/sybase/backup/wkdb${TIME}.dat"
FILEHIS="/sybase/backup/hisdb${TIME}.dat"
su - sybase
isql -Usa -P
dump database WKDB to $FILEWK
sleep 5
dump database HISDB to $FILEHIS
exit //有问题如何解决
if tar cv8 $FILEWK
then
  echo "wkdb backup complete"
fi
if tar cv8 $FILEHIS
then
  echo "hisdb backup complete"
fi

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
3 [报告]
发表于 2003-03-16 21:53 |只看该作者

不用exit应该用什么?

不明白你说的,你是希望在exit后退出还是继续执行下面的两个tar????

论坛徽章:
0
4 [报告]
发表于 2003-03-16 22:35 |只看该作者

不用exit应该用什么?

...

不明白  

论坛徽章:
0
5 [报告]
发表于 2003-03-16 22:53 |只看该作者

不用exit应该用什么?

我是希望exit只退出sybase用户环境,返回到root用户,再执行两个tar,而不是退出整个shell。谢谢!不过我用了su - sybase 是否意味着我又进入了另一个shell呢?我是菜鸟,请指教!那变量$FILEWK和
$FILEHIS又能否在新shell中起作用呢?(即dump database WKDB to $FILEWK 中的$FILEWK能否取到值呢?)。感谢各位帮忙!!!

论坛徽章:
0
6 [报告]
发表于 2003-03-16 23:25 |只看该作者

不用exit应该用什么?

原帖由 "951081018" 发表:
我是希望exit只退出sybase用户环境,返回到root用户,再执行两个tar,而不是退出整个shell。谢谢!不过我用了su - sybase 是否意味着我又进入了另一个shell呢?我是菜鸟,请指教!那变量$FILEWK和
$FILEHIS又能否在..........


su 和 后面命令的组合是错的,
...
su - sybase
isql -Usa -P
dump database WKDB to $FILEWK
....


应该用 su - sybase -c '命令' 来运行用户 sybase 的命令。

多个命令用 ; 隔开,实在太多就给他写个脚本。

论坛徽章:
0
7 [报告]
发表于 2003-03-16 23:39 |只看该作者

不用exit应该用什么?

我现已分用了两个shell文件dumpmain和dumpdb:
其一dumpmain文件
TIME=`date +%y%m%d-%H`
FILEWK="/sybase/backup/wkdb${TIME}.dat"
export FILEWK
FILEHIS="/sybase/backup/hisdb${TIME}.dat"
export  FILEHIS
su - sybase -c "/sybase/dumpdb"
if tar cv8 $FILEWK
then
echo "wkdb backup complete"
fi
if tar cv8 $FILEHIS
then
echo "hisdb backup complete"
fi
把下面代码放到/sybase/dumpdb中:
isql -Usa -P
dump database WKDB to $FILEWK
sleep 5
dump database HISDB to $FILEHIS

但$FILEWK和$FILEHIS 就是无法传到dumpdb中,是不是因为dumpdb用的是sybase用户的shell。所以,dumpmain和dumpdb中的变量无法共用呢?请问有何方法解决?谢谢红袖兄了!!!

论坛徽章:
0
8 [报告]
发表于 2003-03-16 23:54 |只看该作者

不用exit应该用什么?

...

如果不想用 sybase 的环境变量,su 的时候不要加 -

su sybase -c "/sybase/dumpdb"

论坛徽章:
0
9 [报告]
发表于 2003-03-18 00:20 |只看该作者

不用exit应该用什么?

非常感谢红袖兄!我的问题已解决了!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP