使用 bash 命令快捷方式更快地完成工作
你讨厌打字吗?尤其是长命令?重复输入 1008 次相同的长命令?
您是否曾经希望只输入一个字母就能执行 10 条命令?
想象一下,你说“开始”,然后存储库更改就会发生
- 上演,
- 承诺和
- 推!!
哇!太神奇了!我们来变个魔术吧!!
你知道可以为 bash 命令创建快捷方式吗?你无需每次都输入长命令,还可以为命令创建有意义的名称。
在这篇博客中,我们将看到
- 如何为 bash 命令创建别名,
- 创建执行一系列命令的函数,并
- 很棒的 Github repo,其中包含可立即使用的预定义快捷方式列表。
创建别名
假设您每次想要进入目录时只想输入“b”而不是“cd ..”,那么您必须创建一个别名。
alias b="cd .."
复制上述代码并在终端中执行。
现在只需尝试执行“b”。
b
轰!搞定!你不用每次都输入“cd ..”了!直接输入“b”就行了。
别担心,别名不会阻止你使用实际命令。这只是使用该命令的另一种方式,你也可以使用“cd ..”命令。
现在在新终端中尝试别名。
有用吗?没用,对吧?
您必须像在步骤 1 中一样在该终端窗口中再次声明别名才能使其起作用。
天哪!看来我们必须在每个终端窗口中声明别名。
谢天谢地!不会!我们有办法让终端在每次启动交互式终端时加载别名。
.bashrc来救援!
什么是 .bashrc?
.bashrc(bash 运行控制)是一个 shell 脚本,Bash 每次以交互方式启动时都会运行它。它初始化一个交互式 shell 会话。您可以将任何可以在命令提示符下输入的命令放入该文件中。
这就是我们要存放别名的文件!所以,我们只需在其中添加alias b="cd..",即可在所有终端窗口中运行它。
但是如果你想添加一个别名列表怎么办呢?如下所示:
alias e="exit"
alias s="sudo $1"
alias b="cd .."
alias c="clear"
alias t="touch $1"
alias md="mkdir $1"
alias rd="rmdir $1"
alias nn="nano $1"
这不会让 .bashrc 脚本变得拥挤吗?而且,每次我们想要添加/更改别名时,都必须直接更改 .bashrc,这不是最佳实践。
所以我们要创建一个新的 shell 脚本,并在其中添加所有别名。现在,我们只需在 .bashrc 中执行 source 即可;将来,如果我们想要添加/更改别名,只需修改该文件即可。
让我们看看如何做到这一点!
-
让我们在主目录中创建脚本。.bashrc 文件就放在这里。所以最好把它们都放在一个地方。导航到主目录。
cd ~
-
在您的主目录中创建一个名为“.custom_cmds.sh”的新脚本。名称前添加“.”是为了将脚本隐藏在文件目录中。这样就没有人可以意外更改它。
touch .custom_cmds.sh
-
使用您选择的编辑器(例如 vim 或 nano)打开脚本。如果您有 Visual Studio Code,也可以使用它来打开。
nano .custom_cmds.sh ##To open in VSCode you can use $code .custom_cmds.sh
-
在里面添加别名列表。您可以使用以下列表开始。请根据您的偏好进行更改。
注意: “$1”代表第一个参数。alias e="exit" alias s="sudo $1" alias b="cd .." alias c="clear" alias t="touch $1" alias md="mkdir $1" alias rd="rmdir $1" alias nn="nano $1" #open in vscode alias v="code $1"
-
别忘了保存。现在让我们打开 .bashrc 文件。
nano .bashrc
-
在 .bashrc 中执行 .custom_cmds.sh 文件。在 .bashrc 文件末尾添加以下行。
#adding custom aliases source ~/.custom_cmds.sh
-
保存并关闭它。
-
打开一个新的终端窗口,立即尝试别名!(已经打开的终端不会有别名,因为 .bashrc 仅在启动期间执行。)输入“b”返回目录或“c”清除目录。
如果 .custom_cmds.sh 脚本中存在错误,则打开新的终端窗口时会看到该错误。请务必修复并保存。
要查看终端会话的完整别名列表,请尝试“alias”命令。
$alias
使用单个命令执行一堆命令
好的!这些都很好,但是如何为一堆命令创建别名呢?
这时函数就派上用场了!
您可以创建如下所示的函数。
function doc() {
clear
cd Documents
echo "Here is your Documents directory, Master!"
}
上述函数执行了3条命令。
- 清除你的终端,
- 导航到你的 Documents 目录并
- 打印“这是您的文档目录,大师!”。
您可以通过将上述函数声明直接粘贴到终端中来尝试,然后仅使用函数名称“doc”来执行该函数!
doc
您可以像使用其他别名一样使用它。
以上内容仅供您理解其功能。您可以用它简化许多重复性任务。正如简介中所述,您只需一个命令即可添加、提交并推送到分支。
# git add, commit and push to a branch
function gacpb() {
git add .
git commit -m "$1"
git push origin $2
}
您可以像下面这样执行。
$gacpb "commit message" branch-name
继续将函数添加到您的 .custom_cmds.sh 脚本,然后它们将随时为您服务!
很棒的 Bash 命令快捷键存储库
如果你喜欢使用快捷键,那你可真是个好东西!这里有一个 repo,里面列出了各种程序(例如 git、npm 等)的预定义快捷键。
https://github.com/bhuvana-guna/awesome-bash-shortcuts
这将帮助您轻松管理不同程序的快捷方式,并将它们导入到 .bashrc 中的单个文件中。设置完成后,您可以根据自己的喜好进行自定义。
您也可以为其做出贡献。#hacktoberfest请查看!
简短的命令意味着花在打字上的时间更少,花在黑客攻击上的时间更多!
恭喜您更快地完成工作!
封面图片来源:Google
鏂囩珷鏉ユ簮锛�https://dev.to/bhuvanaguna/get-your-work-done-faster-with-bash-command-shortcuts-1eml