如何为 bash 创建批处理别名?
我需要这样做:
cd /somefolder
bundle exec unicorn -p 3000
rackup faye.ru -s thin -E production
bundle
并且rackup
- 这是 2 台服务器
例如我想要绑定alias z=*all_of_this*
答案1
Bash 函数是一种方法,但我更喜欢为~/bin/
目录中的内容创建单独的脚本:
mkdir ~/bin/
touch ~/bin/z
chmod +x ~/bin/z
gedit ~/bin/z
然后将您的脚本放入其中(带有标题),使其看起来像这样:
#! /bin/bash
cd "$1"
bundle exec unicorn -p 3000
rackup faye.ru -s thin -E production
然后只需拨打z <directory-path>
。
它是这种方法比别名或 bash 函数要长,但我更喜欢它,因为它比用其他别名混合东西更容易分离。如果你不同意,我不会责怪你!
答案2
您不需要别名;您需要一个 bash 函数,您可以将其放在与别名相同的位置:
z() {
cd "$1" # This is the argument passed in
bundle exec unicorn -p 3000
rackup faye.ru -s thin -E production
}
像这样调用它:
z /somefolder