`
kanpiaoxue
  • 浏览: 1745342 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

执行shell脚本进入指定目录

 
阅读更多

 

 

 

在linux环境下,常有通过shell脚本进入指定目录的操作,例如有一段脚本chdir.sh:    

#!/bin/sh

cd /home/user/Downloads

pwd

     在shell环境下通过./chdir.sh执行这段脚本是无法进入Downloads目录的; 这是因为shell在执行脚本时,会创建一个子shell,并在子shell中逐个执行脚本中的指令; 而子shell中从父shell中继承了环境变量,但是执行后不会改变父shell的环境变量;如果想要代码中切换目录的操作生效,只需要通过source 命令执行即可:

 

source ./chdir.sh 

 

     source 命令是在当前的shell环境下执行脚本 ,不会创建子shell; 

    每次都要输入source是一件烦琐的事情,其实source命令又叫点命令,在需要用到source的情况下,直接换成'.'即可: 

 

. ./chdir.sh

    注意两点之间的空格。

--------------------- 

作者:chogri 

来源:CSDN 

原文:https://blog.csdn.net/codigger/article/details/9187989 

版权声明:本文为博主原创文章,转载请附上博文链接!

 

分享到:
评论

相关推荐

    通过shell脚本循环进入目录执行命令的方法

    今天小编就为大家分享一篇通过shell脚本循环进入目录执行命令的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    shell脚本判断文件夹或目录是否存在,不存在则创建新文件夹或目录.sh

    shell自动化脚本,自动判断文件夹(目录)是否存在,如不存在自动创建,可执行,下载可测试

    输出执行操作和打印日志的shell脚本实例

    cat /mnt/log_function.sh #!/bin/bash #log function ####log_correct函数打印正确的输出到日志文件 function log_correct () { DATE=`date “+%Y-%m-%d %H:%M:%S”` ####显示打印日志的时间...log_error打印shell脚本

    Linux shell脚本.rar

    sy2visor1.0.txt为实验2写的初始shell版本,sy12内去掉了下载软件(install samba等命令),sy1-2保留了下载软件命令,这两个shell脚本是实验1加实验2合起来的可通过记事本打开看源代码。 使用的操作系统:Linux ...

    Java实现远程执行SHELL

    JAVA实现远程登陆执行shell脚本。上传文件到远程服务器,下载远程服务器资源。 ShellExecutor exe = new ShellExecutor("192.168.1.1", 22, "USERNAME", "PASSWORD"); if (exe.login()) { ResultEntity ...

    常用shell 脚本,dos攻击防范,

    常用shell脚本, Dos攻击防范(自动屏蔽攻击IP).sh 一键部署等等 Linux系统发送告警脚本.sh MySQL数据库备份单循环.sh MySQL数据库备份多循环.sh nginx 访问访问日志按天切割.sh nginx.conf nginx访问日志分析...

    Linux crontab定时执行Shell脚本需要执行特定的命令时解决思路

    多方查找发现Shell脚本中的Java命令需要引入环境变量方可正常执行。因此做了一下修改,脚本如下(仅供参考): 1、crontab执行配置 * * * * * cd /项目目录 && ./auto_start.sh >> /log/auto.out 2、Shell脚本 #!/...

    Linux下通用的shell脚本 执行批处理

    Linux下通用的shell脚本 执行批处理

    web应用执行shell操作服务器资源

    利用该web应用程序,可方便操作文件上传、下载、修改和删除,同时可执行shell或dos命令,操作服务器资源,是一种远程维护应用程序和启动web中间件服务的好方法。

    Shell脚本专家指南

    《Shell脚本专家指南》旨在为Linux、Unix以及OSx系统管理员提供短小精悍且功能强大的shell实现解决方案,教会读者如何使用现有调试器调试shell脚本。全书分为3个部分:脚本技术基础、系统交互和高级技术、有用的脚本...

    oracle自动备份shell脚本

    此为shell脚本程序,在rhel5.5操作系统上验证通过可行,命令系统参照rhel,其它操作系统不保证能够使用。 此脚本使用crontab配置值守。 此脚本为一个.sh文件,请使用root用户执行此脚本,此脚本为一个安装配置脚本,...

    Dialog设计,关于shell 脚本的处理

    Dialog设计,关于shell 脚本的处理, dialog是个shell scripts用的,事实上当您下载Linux Kernel时,里面有个 scripts/lxdialog目录,其实那就是dialog原始码,只是Linux kernel为了避 免与原有dialog相冲突,...

    ThinkPHP v5.x命令执行利用工具(可getshell)

    ThinkPHP v5.x命令执行利用工具(可getshell)

    source命令 在当前Shell环境中从指定文件读取和执行命令

    source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是个点符号,(从Bourne Shell而来)是source的另一名称。 source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。...

    在linux shell脚本中root切换到普通用户执行脚本或命令的方法

    今天小编就为大家分享一篇在linux shell脚本中root切换到普通用户执行脚本或命令的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    shell脚本学习第一天

    ./shell_name.sh 以这种方式执行shell脚本需要脚本先赋予执行权限。这是标准得执行方式 chmod +x shell_name.sh ./shell_name.sh bash shell_name.sh 这种与./的区别是不需要执行权限也能执行脚本,开一个子shell...

    shell cron定时脚本 内附ftp上传 每天2点 定时导出数据 上传到指定目录

    每天半夜两点 启动定时 执行.sh shell脚本 打包ftp到指定服务器

    android adb shell 命令大全

    android adb shell 命令大全 1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器): android create avd --name 名称 --...

    shell脚本,编写shell脚本

    shell脚本:一个能够被执行(运行)的文件 方式二: 1.chmod +x 脚本文件的名字 2. ./脚本文件的名字 语句结构: 判断条件语句(条件判断语句) if语句 格式一: 思想:只关注条件成立之后的操作 if [ 判断条件 ] then...

    Linux中Shell截取某行某列信息

    背景:执行shell命令,抓取shell返回信息中的所需信息,已udhcpc为例获取DNS的地址。 暂不作处理,执行udhcpc。 使用grep过滤掉无用信息,执行 udhcpc | grep “DNS” 使用sed抓取第二行,-n ‘2p’代表第二行,-n...

Global site tag (gtag.js) - Google Analytics