首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改目录在shell脚本中不起作用

更改目录在shell脚本中不起作用
EN

Stack Overflow用户
提问于 2013-08-15 07:55:48
回答 5查看 8.3K关注 0票数 4

在linux中,我只能在shell脚本中更改目录。

代码语言:javascript
复制
#!/bin/sh
cd /driver

以上内容不会改变目录。Shell是在自己的上下文中运行的,因此它不能为linux终端提供更改的驱动器(进入驱动程序)。

但是,如果我给出cd /driver ls,它就会给出驱动程序目录中的ls的适当输出,再次来自driver directory

有人能帮我得到终端与实际改变的路径(into driver)

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-08-15 08:01:32

如果您使用

./scriptname

您正在打开一个子shell,其中执行脚本的命令。更改子shell中的目录对调用脚本的shell的工作目录没有任何影响。如果你键入

source ./scriptname

你应该得到想要的结果。

票数 4
EN

Stack Overflow用户

发布于 2013-08-15 07:58:23

做“源script_name”。它将更改目录。

票数 2
EN

Stack Overflow用户

发布于 2013-08-15 08:01:36

在设置目录后,可以在脚本中启动shell或终端。

因此:

文件:驱动程序,记得设置x权限。

代码语言:javascript
复制
#!/bin/bash
cd /driver
bash

正在运行的驱动程序将产生另一个shell提示。

当前目录现在是驱动程序。

键入"exit“或control将返回到旧的shell及其先前的目录。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18248454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档