Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使单个shell脚本在多个命令上激活?_Shell_Ubuntu - Fatal编程技术网

如何使单个shell脚本在多个命令上激活?

如何使单个shell脚本在多个命令上激活?,shell,ubuntu,Shell,Ubuntu,我希望在my/bin中有一个文件可以“侦听”各种命令,例如 当我在控制台中键入 ck-sx 我想让脚本ck执行“sx”命令, 当我打字的时候 ck街 我想让它做另一件事,“圣” 我打赌这很容易实现,我只是不知道具体如何实现 这样做的目的是让我的系统中的每个位置都可以使用某些命令。 我想用非常短的命令来控制XAMPP的行为,这样我就不必一直点击 它是否与一个具有各种参数的脚本相关联 或者我应该把给定的命令(或路径)注册到一些“全局命令”文件中 我正在运行Ubuntu 10.04。您可以使用$PAT

我希望在my/bin中有一个文件可以“侦听”各种命令,例如

当我在控制台中键入

ck-sx

我想让脚本ck执行“sx”命令, 当我打字的时候

ck街

我想让它做另一件事,“圣”

我打赌这很容易实现,我只是不知道具体如何实现

这样做的目的是让我的系统中的每个位置都可以使用某些命令。 我想用非常短的命令来控制XAMPP的行为,这样我就不必一直点击

它是否与一个具有各种参数的脚本相关联

或者我应该把给定的命令(或路径)注册到一些“全局命令”文件中


我正在运行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