在Linux主目录中创建并执行shell脚本

时间:2012-09-18 12:39:58

标签: linux shell

我想在我的主目录(/ home / user)中创建(并执行)一个shell脚本。

尝试了以下内容:

printf "cd /mypath\n" > myShortcut.sh
chmod +x myShortcut.sh
sh myShortcut.sh

我哪里错了?

(我正在尝试设置导航到其他目录的快捷方式)

3 个答案:

答案 0 :(得分:4)

这里到底出了什么问题?脚本执行后你还在/ home / user中?好吧那就是因为执行脚本会创建一个子shell,一旦脚本结束就会返回到父shell。因此,您的cd在当前shell中没有效果。

答案 1 :(得分:3)

如果要在当前shell 中执行脚本(而不是子shell ),请使用source(或{{1} })命令:

.

然后应按预期更改目录。

此外,采购还允许您在当前shell中设置和更改环境变量 - 这本身就是一个非常常见的问题: - )

答案 2 :(得分:2)

由于其他答案所说的,这是行不通的。该脚本在子shell中运行。

对于这样的快捷方式,您可以设置别名,编辑主目录中的.bashrc文件并添加一行如

alias shortcut ='cd / mypath'

将“快捷方式”替换为您想要命名的内容,并将mypath替换为您想要的路径。 重新启动shell(关闭终端并重新打开或w / e),这应该可以正常工作。 然后,您可以在shell中的任何位置使用“快捷方式”。