LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 949|回复: 6

一个简单的shell脚本,如何处理

[复制链接]
发表于 2006-1-24 09:01:15 | 显示全部楼层 |阅读模式
要求不修改函数内容,问如何使用echo正常输出$datestamp变量值

  1. #!/bin/sh

  2. test_func()
  3. {
  4.     datestamp=`date +%Y%m%d`
  5.     exit 0
  6. }

  7. test_func

  8. echo $datestamp
复制代码
发表于 2006-1-24 09:24:02 | 显示全部楼层
有人有办法没
你的exit 0 直接让脚本退出了
没有执行echo
回复 支持 反对

使用道具 举报

发表于 2006-1-24 09:43:56 | 显示全部楼层
我只能改成这样

  1. #!/bin/sh

  2. test_func()
  3. {
  4.     datestamp=`date +%Y%m%d`
  5.     return
  6. }

  7. test_func

  8. echo $datestamp
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-24 10:03:59 | 显示全部楼层
我就想如果能够捕捉脚本内函数或者程序的信号就好了
在test_func后加入一个&可以运行,但是test_func是在子shell中运行的,其变量值不影响当前shell所以也没意义。
回复 支持 反对

使用道具 举报

发表于 2006-1-24 14:30:05 | 显示全部楼层
请问这样的意义何在
要是解决了有什么用处
回复 支持 反对

使用道具 举报

发表于 2006-1-24 14:34:49 | 显示全部楼层
可能是为了数据传递吧;
可以试试return var
回复 支持 反对

使用道具 举报

发表于 2006-1-25 18:15:57 | 显示全部楼层
exit 0

什么意思?!
BTW:to 3楼:return多余
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表