如何使单个shell脚本在多个命令上激活?
我希望在my/bin中有一个文件可以“侦听”各种命令,例如 当我在控制台中键入 ck-sx 我想让脚本ck执行“sx”命令, 当我打字的时候 ck街 我想让它做另一件事,“圣” 我打赌这很容易实现,我只是不知道具体如何实现 这样做的目的是让我的系统中的每个位置都可以使用某些命令。 我想用非常短的命令来控制XAMPP的行为,这样我就不必一直点击 它是否与一个具有各种参数的脚本相关联 或者我应该把给定的命令(或路径)注册到一些“全局命令”文件中如何使单个shell脚本在多个命令上激活?,shell,ubuntu,Shell,Ubuntu,我希望在my/bin中有一个文件可以“侦听”各种命令,例如 当我在控制台中键入 ck-sx 我想让脚本ck执行“sx”命令, 当我打字的时候 ck街 我想让它做另一件事,“圣” 我打赌这很容易实现,我只是不知道具体如何实现 这样做的目的是让我的系统中的每个位置都可以使用某些命令。 我想用非常短的命令来控制XAMPP的行为,这样我就不必一直点击 它是否与一个具有各种参数的脚本相关联 或者我应该把给定的命令(或路径)注册到一些“全局命令”文件中 我正在运行Ubuntu 10.04。您可以使用$PAT
我正在运行Ubuntu 10.04。您可以使用$PATH变量注册存储二进制文件的路径。 试一试 要猜测语法,请执行以下操作
export PATH=$PATH:/some/path/to/binaries
知道了。帮助:)不需要解释。哦,但那是一个解释。我非常喜欢布赖恩·克尼汉的解释风格。
export PATH=$PATH:/some/path/to/binaries
$ cat ~/bin/multiscript
#!/bin/sh
do_sx () {
echo "$@"
}
do_st () {
ls -lGi "$@"
}
case `basename $0` in
sx) do_sx "$@" ; exit 0 ;;
st) do_st "$@" ; exit 0 ;;
*) echo "$0 command not defined" 1>&2; exit 1;;
esac
$ ln ~/bin/multiscript ~/bin/sx
$ ln ~/bin/sx ~/bin/st
$ chmod +x ~/bin/st
$ sx hi mom
hi mom
$ st ~/bin/sx ~/bin/multiscript ~/bin/st
4932 -rwxr-xr-x 3 cyrylski 277 2010-07-19 20:17 /home/cyrylski/bin/multiscript
4932 -rwxr-xr-x 3 cyrylski 277 2010-07-19 20:17 /home/cyrylski/bin/st
4932 -rwxr-xr-x 3 cyrylski 277 2010-07-19 20:17 /home/cyrylski/bin/sx