Linux 中的多个命令的别名
Alias Multiple Commands in Linux
我正在使用 git
管理网站。 git repository
的要求之一是 bare = true
。它使用 post-receive 挂钩来管理来自本地计算机的推送。问题是有时我想使用 wp-admin 在线视图更改我网站上的 WordPress 目录。那么我会 ssh
进入目录和 运行 git --work-tree="BLAH" add .
和 git --work-tree="BLAH" commit -m "BLAH"
。有没有办法设置一个别名,比如 alias git="git --work-tree=\"BLAH\""
并使它适用于所有 git
命令?
Linux
中有一个 .bashrc
文件。您可以编辑它以创建 alias
作为您最喜欢和经常使用的命令。
要永久创建别名,请将别名添加到您的 .bashrc 文件
gedit ~/.bashrc
别名应如下所示:
alias al='cmd'
您可以在 here 上阅读更多相关信息。
有时候 alias
是一个很棒的工具。然后有时候事情开始变得太复杂,而 shell 脚本更好。
要创建一个执行其他命令的命令,只需创建一个文件(可以称之为 git-add-all
),然后键入以下内容:
#! /bin/bash
git --work-tree="BLAH" add .
git --work-tree="BLAH" commit -m "BLAH"
然后您可以 运行 脚本,只需执行以下操作:
bash git-add-all
更好的是,使脚本可执行:
chmod +x git-add-all
然后你就可以像使用任何命令一样使用它了:
./git-add-all
高级提示:
为了能够从任何 git 目录 运行 脚本,您可以 copy/move 将文件 $PATH
中的一个目录。例如 /usr/loca/bin
。然后你可以简单地 运行 git-add-all
而不是 ./git-add-all
.
更好的方法是创建您自己的个人脚本目录并将其包含在 $PATH
中。我个人使用~/bin
。要将目录添加到 $PATH
,您只需将以下内容添加到 .bashrc
或 .profile
:
export PATH=/home/username/bin:$PATH
或者如果您是为 root 用户执行此操作:
export PATH=/root/bin:$PATH
如果有人好奇我是如何解决它的(感谢 ),我写了一个 bash 脚本然后提示用户输入,如下所示:
#!/bin/bash
function fix {
git --work-tree="PATH_TO_WORKING_TREE"
}
echo -n "git "
read -e INPUT
until [ "$INPUT" = "quit" ]; do
fix $INPUT
echo -n "git "
read -e INPUT
done
运行它:
user@server [repo.git] $ git-fix
git status
# On branch master
nothing to commit (working directory clean)
git quit
我正在使用 git
管理网站。 git repository
的要求之一是 bare = true
。它使用 post-receive 挂钩来管理来自本地计算机的推送。问题是有时我想使用 wp-admin 在线视图更改我网站上的 WordPress 目录。那么我会 ssh
进入目录和 运行 git --work-tree="BLAH" add .
和 git --work-tree="BLAH" commit -m "BLAH"
。有没有办法设置一个别名,比如 alias git="git --work-tree=\"BLAH\""
并使它适用于所有 git
命令?
Linux
中有一个 .bashrc
文件。您可以编辑它以创建 alias
作为您最喜欢和经常使用的命令。
要永久创建别名,请将别名添加到您的 .bashrc 文件
gedit ~/.bashrc
别名应如下所示:
alias al='cmd'
您可以在 here 上阅读更多相关信息。
有时候 alias
是一个很棒的工具。然后有时候事情开始变得太复杂,而 shell 脚本更好。
要创建一个执行其他命令的命令,只需创建一个文件(可以称之为 git-add-all
),然后键入以下内容:
#! /bin/bash
git --work-tree="BLAH" add .
git --work-tree="BLAH" commit -m "BLAH"
然后您可以 运行 脚本,只需执行以下操作:
bash git-add-all
更好的是,使脚本可执行:
chmod +x git-add-all
然后你就可以像使用任何命令一样使用它了:
./git-add-all
高级提示:
为了能够从任何 git 目录 运行 脚本,您可以 copy/move 将文件 $PATH
中的一个目录。例如 /usr/loca/bin
。然后你可以简单地 运行 git-add-all
而不是 ./git-add-all
.
更好的方法是创建您自己的个人脚本目录并将其包含在 $PATH
中。我个人使用~/bin
。要将目录添加到 $PATH
,您只需将以下内容添加到 .bashrc
或 .profile
:
export PATH=/home/username/bin:$PATH
或者如果您是为 root 用户执行此操作:
export PATH=/root/bin:$PATH
如果有人好奇我是如何解决它的(感谢
#!/bin/bash
function fix {
git --work-tree="PATH_TO_WORKING_TREE"
}
echo -n "git "
read -e INPUT
until [ "$INPUT" = "quit" ]; do
fix $INPUT
echo -n "git "
read -e INPUT
done
运行它:
user@server [repo.git] $ git-fix
git status
# On branch master
nothing to commit (working directory clean)
git quit