Как сделать один shell-скрипт для активации несколькими командами? - PullRequest
1 голос
/ 24 июля 2010

Я хотел бы иметь один единственный файл в моем / bin, который будет "слушать" различные команды, например,

когда я печатаю в консоли

ск sx

Я бы хотел, чтобы скрипт ck выполнил команду "sx", и когда я набираю

ск ст

Я бы хотел сделать что-то другое, "st".

Могу поспорить, что этого легко достичь, я просто не знаю, как именно.

Идея состоит в том, чтобы иметь определенные команды avaialbe из каждого места в моей системе. Я хочу контролировать поведение XAMPP с помощью очень коротких команд, чтобы мне не приходилось постоянно переключаться между ними.

Это что-то связано с одним скриптом с различными параметрами?

Или, может быть, я должен просто зарегистрировать данные команды (или пути) в некотором файле "глобальных команд"?

Я использую Ubuntu 10.04.

Ответы [ 2 ]

0 голосов
/ 24 июля 2010
$ 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
0 голосов
/ 24 июля 2010

Вы можете использовать переменную $ PATH, чтобы зарегистрировать пути, в которых вы храните ваши двоичные файлы.Попробуйте

echo $PATH

угадать синтаксис, затем выполните

export PATH=$PATH:/some/path/to/binaries
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...