我是shell脚本新手。我已将脚本文件保存为主目录中的script_hdl。从我的主目录,我想按以下顺序使用脚本导航:cd ../../ site / edu / ess / project / user / rark444
然后从终端中的这个新位置打开一个新标签页。
我用这个作为我的剧本:
#!/bin/bash
alias script_hdl="cd ../../site/edu/ess/project/user/rark444"
我像这样运行脚本
./ script_hdl
但是我没有在终端看到任何回复。我觉得我错过了什么,但我不知道它是什么。在此先感谢您的帮助。
答案 0 :(得分:1)
看起来您正在尝试设置别名。您可以通过编辑主目录中的 .bash_profile 文件来执行此操作(如果不存在,您可以创建一个,然后运行" source .bash_profile" 编辑后)并输入类似 alias script_hdl =' cd ../../ site / edu / ess / project / user / rark444' 的条目然后从您的终端运行" script_hdl" 。
有关别名的详情,请点击保罗提及的链接。
答案 1 :(得分:1)
您可以通过两种方式更改目录。
第一个是编写脚本,以便在cd
之后运行其他命令。它在没有alias
命令的情况下工作:假设您将其删除。
cd
命令适用于正在运行的进程。执行脚本时,会发生以下情况:
cd
命令更改了自己的工作目录,然后退出(已结束)要执行您想要的操作,(删除alias
命令,然后)调用您的脚本,如下所示:
source script_hdl
或使用以下快捷方式:
. script_hdl
意味着您希望指令在同一个shell进程中运行。
更改目录的第二种方法是使用别名。但是您不应该在随机脚本文件中编写别名定义,而是将其添加到~/.bashrc
中(每次打开shell时都会运行此文件)。
所以:
alias script_hdl="cd ../../site/edu/ess/project/user/rark444"
重新加载~/.bashrc
:
. ~/.bashrc
然后不要尝试从文件执行,只需启动别名,就好像它是一个正常的命令:
script_hdl
答案 2 :(得分:0)
确保拼写正确,因为unix区分大小写并且您具有权限。首先在命令行上尝试它以确保它工作,如果有错误它将出现在命令行上,因为有时脚本会隐藏错误和消息。如果有效,则将文本复制到脚本文件中,不要使用别名。
以下是别名的正确用法