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

更改目录在shell脚本中不起作用,第1张

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

我坚持在linux中更改shell脚本中的目录。

#!/bin/sh cd /driver

以上不会改变目录。 shell运行在自己的上下文,所以它不能提供linuxterminal更改驱动器(到驱动程序)

但是如果我给CD /驱动程序ls它给驱动程序目录中的ls正确的输出再次出来的driver directory

任何人都可以帮助我实际上改变path(into driver) 。

计算克隆函数的可变参数的数量

试图运行一个bash脚本来源于另一个脚本运行的源代码

我怎样才能找出一个linux命令完全是什么?

logging器在linux应用程序中的build议

运行“最后的”linux命令

为什么函数在x86 linux的alignment地址加载elf可执行文件?

有没有Unixconfiguration文件的指导方针

多行复制粘贴到mongo shell

使用mailx和bash脚本parsing邮件正文

mmap总线错误通过2Gb写入MAP_SHARED文件

如果你运行你的脚本

./scriptname

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

source ./scriptname

你应该得到想要的结果。

做“源script_name”。 它会改变目录

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

如下所示:

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

#!/bin/bash cd /driver bash

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

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

键入“exit”或者control-D会返回到原来的shell和前一个目录。

你的脚本是一个可执行文件:

#!/bin/sh cd /driver

删除#!/bin/sh

cd /driver

只要验证上述问题的根本原因,您可以执行以下 *** 作

创建一个像 –

read a echo "You entered : $a"

保存它(比如script.sh),并根据需要更改权限。

在相同的标签中运行'ps'命令并注意shell的pID(比如说p1)。

现在运行脚本(即./script.sh)

脚本将要求输入,但不提供输入。 现在在另一个选项卡中运行如“ps -ef |” grep pts'。 在这里你会发现有两个shell进程。 你有一个shell的ppID等于前一个shell的pID,即p1。

所以基本上每个shell脚本调用创建一个新的过程,因此一个新的上下文。

希望这有助于。

总结

以上是内存溢出为你收集整理的更改目录在shell脚本中不起作用全部内容,希望文章能够帮你解决更改目录在shell脚本中不起作用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1264562.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存