gpt4 book ai didi

bash - 如何使用脚本 cd 进入目录?

转载 作者:行者123 更新时间:2023-11-29 09:38:30 24 4
gpt4 key购买 nike

例如,假设我有一个名为 tmp 的目录,我在主目录中

$pwd
/my/home/directory/
$ls
tmpdir

我有一个 tmp.sh 可以 cd 到“tmp”目录

#!/bin/bash
cd tmp

然后我使用以下命令运行脚本:

$sh tmp.sh

运行此脚本后,我仍在我的主目录中。

1) 我想了解为什么这不能彻底工作(我只是粗略地知道它与独立于父进程的子进程有关(这是否正确?))和

2) 我怎样才能完成这个任务(在脚本执行完成后最终进入脚本 cd 所在的目录)?

最佳答案

那是你的 shell 的工作目录。当您执行脚本时,会为您的脚本创建一个新的 shell。您正在更改其余代码的当前工作目录,而不是父 shell。

2) how can I go about accomplishing this task(being end up in the directory that a script cd-ed in upon the completion of execution of the script)?

要完成此操作,您可以&&编写脚本。因此,如果脚本成功执行,那么只有你最终进入新目录

./tmp.sh && cd <to_your_directory>

您还应该查看 unix.se 帖子 - Why cd is not a program?以便更好地理解。

关于bash - 如何使用脚本 cd 进入目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14880777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com