shell中无法使用cd命令的原因及解决方法

 更新时间:2023年06月09日 10:44:39   作者:漠效  
本文主要介绍了shell中无法使用cd命令的原因及解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

在我们使用shell编写脚本的时候,有时会需要切换到其他的目录中。但是,当我们按往常的格式一样在脚本中写入cd后,要切换的目录是存在的,但是当执行脚本,我们会收到报错,原因是cd的命令在脚本中没有实现。

常见于远程执行目标服务器中的脚本。

下面介绍的就是这个常见问题的原因及解决方法。

原因

在shell在执行脚本的时候,会创建一个子shell,并在子shell中逐条执行脚本中的指令

子shell会从父shell中继承了环境变量,但是执行后不会改变父shell的环境变量

在子shell中的操作和环境变量不会影响父进程,在执行完shell后又回到了父进程

解决方法

【1】最简的方法

只需要source脚本即可。

source 命令可以在当前的shell环境下执行脚本,不会创建子shell ,直接影响父进程。

source命令可直接换成 “.”。

source /root/alis.sh
或
. /root/alis.sh

远程执行脚本:

ssh ip "source /root/alias.sh"

【2】补充

实际上,我们在使用一些命令的时候,如果前提是必须先使用cd切换目录,再执行命令,而该条命令执行不成功,8成都是这个原因。因此需要用source执行脚本,即可解决这个问题。

到此这篇关于shell中无法使用cd命令的原因及解决方法的文章就介绍到这了,更多相关shell中无法使用cd命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Shell命令行中特殊字符与其转义详解(去除特殊含义)

    Shell命令行中特殊字符与其转义详解(去除特殊含义)

    这篇文章主要给大家详细介绍了Shell命令行中特殊字符与其转义(去除特殊含义)的相关资料,文中介绍的很详细,相信对大家具有一定的参考价值,有需要的朋友们下面来一起看吧。
    2017-02-02
  • Shell中的命令别名、命令历史和命令替换的方法

    Shell中的命令别名、命令历史和命令替换的方法

    本篇文章主要介绍了Shell中的命令别名、命令历史和命令替换的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • linux创建PHP定时任务的实例

    linux创建PHP定时任务的实例

    这篇文章主要介绍了linux创建PHP定时任务的实例的相关资料,需要的朋友可以参考下
    2017-07-07
  • Linux下快速比较两个目录的不同(多种方法)

    Linux下快速比较两个目录的不同(多种方法)

    这篇文章主要介绍了Linux下快速比较两个目录的不同,本文给大家带来了多种方法,非常不错,具有一定的参考借鉴价值,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-05-05
  • Shell脚本之进制转换器的实现

    Shell脚本之进制转换器的实现

    本文主要介绍了Shell脚本之进制转换器的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Shell多线程操作及线程数控制实例

    Shell多线程操作及线程数控制实例

    这篇文章主要介绍了Shell多线程操作及线程数控制实例,文中从单线程实现一个需求开始,不断加入代码实现多线程以及线程数的控制功能,需要的朋友可以参考下
    2014-07-07
  • 在Linux中检查文件大小的4种常用方法

    在Linux中检查文件大小的4种常用方法

    在 Linux 操作系统中,经常需要检查文件的大小,无论是管理文件系统空间,还是确定文件传输的大小限制,了解文件大小是非常重要的,本文将介绍 4 种常用的方法,帮助你在 Linux 中检查文件的大小,需要的朋友可以参考下
    2023-09-09
  • Linux系统中运行.sh文件的几种方法

    Linux系统中运行.sh文件的几种方法

    这篇文章主要给大家介绍了Linux系统中运行.sh文件的几种方法,文中通过图文结合的方式介绍的非常详细,对大家学习或者使用Linux具有一定的参考学习价值,需要的朋友可以参考下
    2024-12-12
  • 在指定目录查找指定后缀文件的shell脚本代码

    在指定目录查找指定后缀文件的shell脚本代码

    用shell脚本实现的在指定目录查找指定后缀的文件,需要的朋友可以参考下
    2013-02-02
  • crond构建linux定时任务及日志查看脚本详解

    crond构建linux定时任务及日志查看脚本详解

    这篇文章主要为大家介绍了crond构建linux定时任务及日志查看脚本详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10

最新评论