LinuxSir.cn,穿越时空的Linuxsir!

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

my shell problem

[复制链接]
发表于 2007-10-15 18:24:13 | 显示全部楼层 |阅读模式
我写了一个简单的函数例如
#!/bin/bash
hello()
{
echo -en "hello world"
}
我想问下怎么才能将这个函数导入到shell中!在使用set命令时候能看出来 如下

langfile=/root/.i18n
hello()
{
echo -en "hello world"
}

我把这个函数用./hello执行之后也不能显示出这个效果
我的系统是red hat as3up8
发表于 2007-10-16 00:31:41 | 显示全部楼层
应该是. hello
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-16 08:55:00 | 显示全部楼层
不是吧 这样怎么执行
回复 支持 反对

使用道具 举报

发表于 2007-10-16 10:11:12 | 显示全部楼层
. hello是在当前shell执行,如果启动子shell的话,就没有效果了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-16 11:18:00 | 显示全部楼层
-bash: .hello: command not found
出现这个错误呢!
回复 支持 反对

使用道具 举报

发表于 2007-10-16 19:30:25 | 显示全部楼层
. ./hello

这样就可以了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-17 07:53:19 | 显示全部楼层
不行呢!使用set命令后老显示为
USER=root
USERNAME=root
_=./hello
回复 支持 反对

使用道具 举报

发表于 2007-10-17 18:29:41 | 显示全部楼层
这样我在命令行运行hello 就能返回这个函数值了
set可以看到下面的内容
hello()
{
echo -en "hello world"
}


不知道你到底想要干什么
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-17 20:06:48 | 显示全部楼层
Post by gregorian
这样我在命令行运行hello 就能返回这个函数值了
set可以看到下面的内容
hello()
{
echo -en "hello world"
}


不知道你到底想要干什么

我就是想要这个效果
但是就没有
回复 支持 反对

使用道具 举报

发表于 2007-10-17 21:07:47 | 显示全部楼层
在我的机器上可以  Centos4.5

估计是你的操作系统不一样
回复 支持 反对

使用道具 举报

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

本版积分规则

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