免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: aashen
打印 上一主题 下一主题

写一个简单的shell函数,方便自己使用linux:) [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-11-26 09:26 |只看该作者
……偶也很少 ls 的,因为工作目录里有什么东西我基本都知道……

论坛徽章:
0
12 [报告]
发表于 2005-11-27 10:55 |只看该作者
呵呵,如果用这个函数
cd /usr/lib
那么你火了。

论坛徽章:
0
13 [报告]
发表于 2005-11-27 20:55 |只看该作者
嘿嘿,锁兄的 /usr/portage/distfiles 估计更热闹吧。

论坛徽章:
0
14 [报告]
发表于 2005-11-28 14:52 |只看该作者
学习.

论坛徽章:
0
15 [报告]
发表于 2005-11-28 15:27 |只看该作者
学习shell中

论坛徽章:
0
16 [报告]
发表于 2005-11-28 17:34 |只看该作者

很好!

不管怎么说,楼主的想法很好.支持!

论坛徽章:
0
17 [报告]
发表于 2005-11-30 10:37 |只看该作者
越弄越麻烦。。。。。。。

论坛徽章:
0
18 [报告]
发表于 2005-12-05 19:23 |只看该作者

为何不能用脚本实现?

我写了个脚本,想实现cdls同样的功能,却没有转到指定的目录,目标目录下的文件倒是显示出来了,不知是何原因,请指教。脚本如下:

#/bin/bash
cd $1
ls

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
19 [报告]
发表于 2005-12-05 19:47 |只看该作者
假设你的脚本名叫 1.
那么你执行的时候
. ./1 /home
前面是 "."空格"."
或者
source ./1 /home

论坛徽章:
0
20 [报告]
发表于 2005-12-05 20:01 |只看该作者
续楼上的貂尾:

因为
  1. #!/bin/bash
  2. cd $1
  3. ls
复制代码

这样的脚本在执行的时候,系统会从第一行内容
  1. #/bin/bash
复制代码
匹配对应的解释器,开启一个新进程运行这个解释器,然后在新解释器中解释这个脚本。新 shell 先将 cwd 改变到$1指定的目录,然后执行ls,然后退出,你的当前 shell 的 cwd 并没有被改变。

用 . ./1.sh 或者(bash中)source 1.sh 就会在当前 shell 中尝试解释(而不是新启动一个 /bin/bash 进程)执行这个脚本内容,因此任何改变直接作用于当前 shell 环境。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP