首页 > 系统相关 >无法在 Linux 下运行脚本

无法在 Linux 下运行脚本

时间:2024-05-15 11:33:33浏览次数:20  
标签:脚本 shell script process cd sh Linux 运行

无法在 Linux 下运行脚本
cant run script in linux

Created: 2024-05-14T10:59+08:00
Published: 2024-05-15T11:19+08:00
Categories: Linux
Tags: Bug

打算在 wsl 中运行 Windows 文件中的 sh 文件,script.sh 内容为:

#!/usr/bin/sh
cd ..

但是终端中执行 bash ./script.sh,什么也没有发生。

排查了 shebang、line break、wsl 能否使用 Windows 文件系统等问题,最后终于找到原因。

原因

因为在 shell 的 child process 中 cd 了,当前 shell process 没有 cd,可以参考 xv6 的 shell 的代码。

bash - Why can't I change directories using "cd" in a script? - Stack Overflow

这就是 source 命令的作用:在当前 shell 执行命令。

解决

. ./script.sh

气笑了

标签:脚本,shell,script,process,cd,sh,Linux,运行
From: https://www.cnblogs.com/ticlab/p/18193506

相关文章

  • 在Linux中,什么是子网和CIDR?
    在网络通信中,子网(Subnet)和CIDR(无类别域间路由,ClasslessInter-DomainRouting)是两个重要的概念,它们与IP地址的分配和网络的组织方式密切相关。1.子网(Subnet)子网是将一个较大的网络划分成若干个较小的网络的过程。这样做的目的是为了更好地组织和管理网络,提高网络安全性,以及优化......
  • 在Linux中,什么是SSD和HDD,作用分别是什么?
    在Linux(以及所有其他操作系统中),SSD(SolidStateDrive,固态硬盘)和HDD(HardDiskDrive,机械硬盘)是两种不同类型的存储设备,它们在内部构造、性能、耐用性和价格等方面存在显著差异。以下是关于SSD和HDD的详细解释:1.SSD(固态硬盘)定义:SSD是一种使用固态电子存储芯片阵列而制成的硬盘,由......
  • 在Linux中,如何进行网络性能调优?
    网络性能调优在Linux系统中是一个复杂且细致的过程,涉及多个方面,包括但不限于网络参数调整、协议栈优化、硬件配置、以及特定应用的优化。以下是一些基本的网络性能调优方法和步骤:1.网络参数调整1.1修改内核参数TCP缓冲区大小调整:通过调整/proc/sys/net/core/wmem_max和/p......
  • 在Linux中,如何配置网络桥接?
    在Linux中配置网络桥接通常是为了让虚拟机或容器能够与宿主机共享网络连接,仿佛它们直接连接在同一物理网络上。以下是一个基本的步骤指南,介绍如何在Linux系统中配置网络桥接,这里以常见的场景为例:在KVM虚拟化环境或一般Linux系统中设置网桥供虚拟机使用。1.安装必要的工具(如果需......
  • mysql基于linux环境下修改用户密码
    一、忘记密码的情况下:1、找到数据库配置文件my.cnf,不记得在哪可以全局搜索find/-name‘*my.cnf*’;2、vimy.cnf,在[mysqld]下面添加一行skip-grant-tables取消权限验证,保存退出;3、重启数据库:systemctlrestartmysql,也有可能是servicemysqldrestart;4、找到mysql安装目录,......
  • linux crontab命令
    格式f1f2f3f4f5program其中f1是表示分钟,f2表示小时,f3表示一个月份中的第几日,f4表示月份,f5表示一个星期中的第几天。program表示要执行的程序。当f1为*时表示每分钟都要执行program,f2为*时表示每小时都要执行程序,其馀类推当f1为a-b时表示从第a分......
  • shell脚本习题
    目录1.计算1到100所有整数的和2.提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和3.求从1到100所有整数的偶数和、奇数和4.用户名存放在users.txt文件中,每行一个,判断文件里的用户是否存在,若该用户存在,输出提示该用户已存在;用户存在但没设密吗,则提示用户并让用户设置......
  • Percona XtraBackup全备与增量备份脚本
    1、全备脚本#!/bin/bashBAK_DIR_ROOT="/mysql/backup"MYSQL_USERNAME="root"MYSQL_PASSWORD="root"MYSQL_CNF="/mysql/data/3306/my.cnf"BAK_FULL_DIR=$BAK_DIR_ROOT/mysqlbackup`(date+%Y%m%d)`/mysqlfullbackupBAK_LOG="......
  • Oracle Linux 9.4 正式版发布 - Oracle 提供支持 RHEL 兼容发行版
    OracleLinux9.4正式版发布-Oracle提供支持RHEL兼容发行版OracleLinuxwithUnbreakableEnterpriseKernel(UEK)&RedHatcompatiblekernel(RHCK)请访问原文链接:OracleLinux9.4正式版发布-Oracle提供支持RHEL兼容发行版,查看最新版。原创作品,转载请保留出......
  • Rocky Linux 9.4 正式版发布 - RHEL 100% 1:1 兼容免费发行版
    RockyLinux9.4正式版发布-RHEL100%1:1兼容免费发行版RockyLinux由CentOS项目的创始人GregoryKurtzer领导请访问原文链接:RockyLinux9.4正式版发布-RHEL100%1:1兼容免费发行版,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org以社区方式驱动的企......