2010-07-24 3 views
1

Je voudrais avoir un seul fichier dans mon/bin qui "écouterait" diverses commandes, par ex.comment faire un seul shell-script à activer sur plusieurs commandes?

quand je tape dans ma console

ck sx

Je voudrais scénario ck faire "sx" commande, et quand je tape

ck st

Je voudrais qu'il en fasse un autre chose, "st". Je parie que c'est facile à réaliser Je ne sais pas exactement comment.

L'idée est d'avoir certaines commandes disponibles à partir de chaque emplacement dans mon système. Je veux contrôler le comportement de XAMPP avec des commandes très courtes, donc je n'ai pas besoin de cliquer tout le temps.

Est-ce que quelque chose est connecté avec un script avec divers paramètres?

Ou peut-être que je devrais simplement enregistrer les commandes (ou chemins) donnés à un fichier "commandes globales"?

Je cours sous Ubuntu 10.04.

Répondre

0
$ cat ~/bin/multiscript 
#!/bin/sh 

do_sx() { 
    echo "[email protected]" 
} 

do_st() { 
    ls -lGi "[email protected]" 
} 

case `basename $0` in 
    sx) do_sx "[email protected]" ; exit 0 ;; 
    st) do_st "[email protected]" ; 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

a obtenu. aidé :) aucune explication nécessaire. – Cyrylski

+0

Oh, mais c'était une explication. Je suis un grand fan du style exposant de Brian Kernighan. – msw

0

Vous pouvez utiliser la variable $ PATH pour enregistrer les chemins dans lesquels vous stockez vos fichiers binaires. Essayez

echo $PATH 

à deviner la syntaxe, puis faites

export PATH=$PATH:/some/path/to/binaries