当前位置:  技术问答>linux和unix

如何在shell中使用内建命令

    来源: 互联网  发布时间:2015-02-24

    本文导语:  在shell中使用cd命令,可以进入目录,但是运行完shell之后,目录仍是原来的, 没有改变,如何才可以用脚本进入目录。 请大家帮帮忙,多谢了。 | 假设你的脚本文件为foo.sh 使用 . ./foo.sh          ...

在shell中使用cd命令,可以进入目录,但是运行完shell之后,目录仍是原来的,
没有改变,如何才可以用脚本进入目录。
请大家帮帮忙,多谢了。

|
假设你的脚本文件为foo.sh
使用
. ./foo.sh              (b shell)

source ./foo.sh         (c shell)
运行脚本即可。

|
执行一个SHELL脚本,就好似执行一个进程是一样的。

在SHELL脚本里面可以任意的 cd ,但是对于当前路径而言是没有什么影响的。

变通的方法就是 . yourshell.sh ,就是强制以命令行方式执行。

|
这个问题要这样看:
  一般一个 shell 是一个进程,它解释执行所敲入的命令,如果该命令是一个执行程序(包括 SHELL 脚本文件),它就创建一个子进程来运行,子进程继承父进程的环境(包括工作目录),但子进程不会改变父进程的环境。
  cd 和 . 是 shell 的内部命令,不创建子进程,可以修改当前进程的环境,因此 cd 可以改变工作目录。详细情况可参看 cd 的手册。
  原理一搞清,好多问题就好解释了。有些命令是无法加强的。

|
楼上朋友都说了呀!
. yourcd.sh (sh/ksh)
source yourcd.sh (csh)

而不是直接
yourcd.sh

意思是强制SHELL程序在当前sh下执行
不起子sh
子sh不能更改父sh的环境

|
好像用linux提供的shell不能修改你执行当前shell的目录,由于shell脚本会自动创建一个新的shell环境,它所修改的都是那个新环境中的内容,你看时的执行环境不会变化,要么用其他程序,要么你将随后相关操作也吧,呵呵
要么你就通过source xxx.sh方式执行shell程序,它会改变当前环境

|
我想知道你多打一个字母(chd)的目的是什么?如果你喜欢的话,可以用:
alias chd='cd'
实现此目的。

    
 
 

您可能感兴趣的文章:

  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 小弟没写过shell,求解 linux shell 命令
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • 如何编写Shell,当SQL执行完毕后,继续调用Shell命令。
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • Linux 下的cd命令为什么要实现成shell的内建命令
  • shell 命令有as命令吗
  • Linux命令、编辑器与Shell编程 和 UNIX SHELL范例精解(第4版) 区别大么?
  • cd、zip等命令在shell提示符下能执行,在shell脚本中为什么不能执行呢?
  • 有关裁减内核及shell命令的问题
  • redhat linux7.2/7.3,SHELL下,reboot是重启,那么要在SHELL下关机是什么命令???
  • 内核执行shell命令问题
  • 最近学shell命令,但它大量的命令选项特别让人郁闷,不知道有什么方法可以记住这些选项?
  • Linux程序中运行shell命令
  • unix shell如何在不把命令结果打出来的情况下判断命令是否可以执行呢?
  • 在shell命令行中敲一个可执行文件,起一个进程pc,这个进程属于shell进程
  • 求教高手,关于shell命令
  • 使用shell在文本文件中进行字符串搜索问题?shell高手请进,分不够可以再加
  • 在shell中使用mail函数的时候如何使用变量
  • 在shell中使用数组需要什么特殊的条件马? 怎么在有的linux下能够用,在有的linux下就不能能使用?
  • 怎样知道当前使用的是什么shell?
  • 有关在makefile中使用shell函数的问题
  • shell中函数的使用
  • shell script 中切換使用者
  • shell脚本参数使用问题
  • 关于如何使用shell自动执行一个sybase的存储过程
  • makefile使用的是哪种shell,急急急
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • shell变量和子shell的问题请教
  • 请问“当前shell”和“子shell”的区别?
  • 怎么知道当前是B_SHELL 还是C_SHELL
  • 用户登陆后运行某SHELL退出SHELL就回到LOGIN是怎么作到的?
  • 怎么写shell代码 写好shell怎么运行?
  • 请问一个shell中如何获取这个shell自身抛出的错误?
  • 非登录shell是什么 意思,和登录shell有什么区别啊
  • Solaris 8中修改root的shell为一个非法的Shell后怎么办?
  • 各位Shell高人,如何取得Shell的第10个入口参数?$10不行啊,急!
  • shell 编程 执行shell新建多个终端 并执行程序
  • 如何在一台机器上的shell中执行另外一台机器上的shell
  • 在shell中的交互问题,现在需要在shell结束时按某键或任意键
  • 请问什么是shell编程?一般都用shell编程实现什么?
  • 请教 一个shell问题 如何通过shell获得一个日志文件中的增量部分
  • 子shell改变父shell定义变量的值
  • shell脚本如何调用另外一个shell脚本的函数?
  • 如何进入纯shell环境?在shell下如何进入X Windows?
  • 请问,Shell中如何执行另外一个Shell脚本?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    shell 命令有as命令吗 iis7站长之家