设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 综合讨论区 —— LinuxSir.cn
›
shell进阶应用、shell编程
›
??? 一个简单shell脚本的困惑 ???[已解决] ...
返回列表
查看:
838
|
回复:
5
??? 一个简单shell脚本的困惑 ???[已解决]
[复制链接]
i-linux
i-linux
当前离线
积分
220
IP卡
狗仔卡
发表于 2005-1-24 15:56:54
|
显示全部楼层
|
阅读模式
写一个简单的script文件,名字叫exe,
内容如下:
cd /home
方法一:
chmod +x exe
键入exe,没有出现预期的结果,即进入 /home 目录。
方法二:
source exe
即可进入 /home 目录
将内容改为:
echo "That's ok!"
以上述两种方式执行,均可生效。
这是怎么回事???
:ask
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
hujk
hujk
当前离线
积分
12
IP卡
狗仔卡
发表于 2005-1-24 16:04:46
|
显示全部楼层
在本论坛中已有相关的解释了,主要是source命令是用当前的shell来执行,否则shell会invoke另外一个子进程来执行,执行完成后就返回了,而echo是个输出命令,当然是一样的了。
回复
支持
反对
使用道具
举报
显身卡
6692975
6692975
当前离线
积分
1435
IP卡
狗仔卡
发表于 2005-1-24 16:22:03
|
显示全部楼层
没看过shell 十三问吧,很经典。
http://bbs.chinaunix.net/forum/v ... 92bfacc2baa06c39652
回复
支持
反对
使用道具
举报
显身卡
i-linux
i-linux
当前离线
积分
220
IP卡
狗仔卡
楼主
|
发表于 2005-1-24 16:44:43
|
显示全部楼层
"否则shell会invoke另外一个子进程来执行,执行完成后就返回了"
就是说shell启动另外一个子进程,执行命令 cd /home,而cd /home的结果是在系统提示符里显示的,因此
子进程执行完毕后返回到原来的shell中,没留下任何痕迹?
回复
支持
反对
使用道具
举报
显身卡
hujk
hujk
当前离线
积分
12
IP卡
狗仔卡
发表于 2005-1-24 16:57:39
|
显示全部楼层
cd /home的结果是你所看不见的,因为没有任何输出啊,如果你再加一句 ls -l 就知道系统执行时确实进入了/home目录,并进行了列文件的操作,完成后又退回到原来目录了。
回复
支持
反对
使用道具
举报
显身卡
i-linux
i-linux
当前离线
积分
220
IP卡
狗仔卡
楼主
|
发表于 2005-1-24 17:13:47
|
显示全部楼层
明白了,谢谢
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
LFS(LinuxfromScratch)
BSD 讨论专题
Gentoo Linux
开源软件专题讨论
Debian Linux
Redhat/Fedora/CentOS Linux
Linux 基础讨论区(新手速成)
Archlinux讨论区
硬件设备 Linux 驱动
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表