使用shell脚本浏览文件夹

hgtggwj0  于 2023-10-23  发布在  Shell
关注(0)|答案(4)|浏览(213)

我是shell脚本的新手。我已将脚本文件保存为script_hdl,并保存在主目录中。在我的主目录中,我想按以下顺序使用脚本进行导航:cd ../../site/edu/ess/project/user/rark444
然后从终端中的这个新位置打开一个新选项卡。
我用这个作为我的脚本:

#!/bin/bash
alias script_hdl="cd ../../site/edu/ess/project/user/rark444"

我这样运行脚本
./script_hdl
但我没看到终端有任何回应。我觉得我错过了什么,但我不知道是什么。先谢谢你的帮助。

hlswsv35

hlswsv351#

你有两种方法可以在这里更改目录。

脚本

第一个是写一个脚本,这样你就可以在cd之后运行其他命令。它可以在没有alias命令的情况下工作:假设你把它取出来
cd命令适用于正在运行的进程。当您执行脚本时,会发生以下情况:
1.你的shell会产生一个新的shell进程来执行你的代码。主进程等待其子进程完成;
1.这个新的子进程实际上用你的cd命令改变了它自己的工作目录,然后退出(结束)
1.原始shell进程停止等待并再次打印提示符。但是这个进程没有改变目录(只有子进程改变了)
要执行您想要的操作,请(删除alias命令,然后)按如下方式调用脚本:

source script_hdl

或使用以下快捷方式:

. script_hdl

这意味着您希望指令在同一个shell进程中运行。

安装

改变目录的第二种方法是使用别名。但是你不应该把别名定义写在一个随机的脚本文件中,而应该把它添加到你的~/.bashrc中(这个文件在你每次打开一个shell时都会运行)。所以:

alias script_hdl="cd ../../site/edu/ess/project/user/rark444"

重新加载~/.bashrc

. ~/.bashrc

然后不要试图从文件执行,只要启动你的别名,就像它是一个普通的命令:

script_hdl
kh212irz

kh212irz2#

看起来你是想建立一个别名。你可以通过在你的主目录中编辑你的**.bash_profile文件来做到这一点(如果它不在那里,你可以创建一个,然后在编辑它之后运行“source .bash_profile”),并创建一个类似alias script_hdl ='cd../../site/edu/ess/project/user/rark 444'的条目,然后从你的终端运行“script_hdl”
有关
alias**的更多信息,您可以访问Paul提到的链接。

j7dteeu8

j7dteeu83#

确保拼写正确,因为unix区分大小写,并且您有权限。首先在命令行上尝试它,以确保它的工作,如果有一个错误,它会出现在命令行上,因为有时脚本隐藏错误和消息。如果它工作,然后复制文本到脚本文件,不要使用别名。
这里是别名的正确用法
https://en.wikipedia.org/wiki/Alias_(command)

ffvjumwh

ffvjumwh4#

你可以使用cd++来更快的浏览文件夹。可以找到here

相关问题