请教关于在SHELL中使用read的问题

gemini8505
请教关于在SHELL中使用read的问题

请教个问题,我想让SHELL提示Please insert your firstname后,读入我输入的字符


我在test.txt里写入:
echo -n "Please insert your firstname"
read firstname

然后执行test.txt,有提示Please insert your firstname,但是输入字符后,执行echo $firstname却没有我刚才输入的内容.请教这是为什么呀?有什么解决方案吗?

我直接在命令行中使用read firstname,然后输入字符,再执行echo $firstname是可以取到输入的内容的.

先谢过啊~~~~

炙热的雪
执行的时候在前面加个点:
. ./test.txt

使得脚本被当前shell执行

gemini8505
我是用./test.txt来执行的,为什么要用../test.txt?

我试下

gemini8505
兄弟,你那招好象行不通,其实执行的时候用./应该就可以了吧,../有报个什么错误

swordfish.cn
读入 firstname 之后 export 一下。

gemini8505
刚才test.txt改成了:
echo -n "Please insert your firstname"
read firstname
export firstname


但是执行后,echo $firstname得到的firstname还是个空值。请版主看看我写的是不是哪里不对?

寂寞烈火
[quote]原帖由 [i]gemini8505[/i] 于 2008-6-9 21:50 发表 [url=http://linux.chinaunix.net/bbs/redirect.php?goto=findpost&pid=6608965&ptid=1009835][img]http://linux.chinaunix.net/bbs/images/common/back.gif[/img][/url]
我是用./test.txt来执行的,为什么要用../test.txt?

我试下 [/quote]
[size=10]. ./test.txt[/size]

swordfish.cn
还是直接点
[code]
source ./test.txt
[/code]
这个和
[code]
. ./test.txt
[/code]
是一样的。

sdu_lizhipeng
这属于环境变量的作用域问题。。。你去SHELL版块看看它的置顶帖,上面有关于这个问题的详细解释

gemini8505
谢谢各位了,小弟受教了
呵呵.