# Script Terminal



## myckmack (14 Novembre 2003)

Imaginons que j'utlise répétitivement le Terminal de Panther avec les mêmes commandes. Comment puis-je faire pour concevoir un fichier qui, lorsque je l'ouvre, exécute directement ces commandes (un peu dans l'esprit des scripts AppleScript que l'on peut enregistrer comme applications indépendantes) ?


----------



## maousse (15 Novembre 2003)

tu peux faire un alias, pour une commande avec des options spéciales, qui t'évite de les réécrire à chaque fois.
Il faut éditer le fichier ~/.tcshrc (si tu utilises tcsh comme shell) ou ~/.profile (si tu utilises bash pour shell)
et indiquer une commande du genre (c'est juste une exemple que j'ai dans ma config) :

```
alias gwhois "whois -h geektools.com"
```
ce qui en général est :

```
alias nom_que_tu_choisis_pour_la_nouvelle_commande "commande_complète"
```

fait attention à ne pas choisir un nom déjà utilisé pour autre chose.

Sinon, mieux (enfin, pour faire plus propre, et ne pas surcharger ton fichier de config shell), tu peux écrire un script shell, voir là pour des détails :
http://www.xrings.net/xrings/article.php3?id_article=210

Si tu attribues des droits executable à ton fichier script.sh, il me semble que tu peux ensuite le lancer par un double clic dans panther, sinon, tu peux écrire un alias pour ce script shell, qui sera lancé par un seul mot dans le terminal.

Tu peux trouver des tonnes de documentation sur toutes ces manips dans toutes les documentations unix


----------



## molgow (15 Novembre 2003)

Et n'oublie pas que si tu veux faire exécuter plusieurs commandes à la suite, tu peux utiliser le ";" (point-virgule). Par exemple, si tu veux qu'à chaque fois que tu fasse "cd", ça t'affiche le "ls" du répertoire dans lequel tu viens d'arriver, tu peux faire :


```
alias cdl "cd $1; ls ."
```

euh.. j'ai juste un petit doute pour le $1, c'est peut-être $0 ou alors autre chose ? ou alors c'est tout autre chose et je me souviens mal.. :-/..


----------



## myckmack (15 Novembre 2003)

molgow a dit:
			
		

> Et n'oublie pas que si tu veux faire exécuter plusieurs commandes à la suite, tu peux utiliser le ";" (point-virgule).


Je connaissais 
	

	
	
		
		

		
		
	


	




.



> euh.. j'ai juste un petit doute pour le $1, c'est peut-être $0 ou alors autre chose ? ou alors c'est tout autre chose et je me souviens mal.. :-/..


C'est bien $1 
	

	
	
		
		

		
		
	


	




.


----------



## myckmack (15 Novembre 2003)

maousse a dit:
			
		

> ...
> 
> Sinon, mieux (enfin, pour faire plus propre, et ne pas surcharger ton fichier de config shell), tu peux écrire un script shell, voir là pour des détails :
> http://www.xrings.net/xrings/article.php3?id_article=210


Merci pour le lien. Je vais y jeter un oeil.



> Si tu attribues des droits executable à ton fichier script.sh, il me semble que tu peux ensuite le lancer par un double clic dans panther
> 
> ...


C'est exactement ce que je voudrais faire.


----------



## myckmack (15 Novembre 2003)

maousse a dit:
			
		

> ...
> 
> Si tu attribues des droits executable à ton fichier script.sh, il me semble que tu peux ensuite le lancer par un double clic dans panther
> 
> ...


Ça marche. À ceci près que le script lance le Terminal et que le Terminal reste ouvert 
	

	
	
		
		

		
		
	


	




. Mais j'ai progressé grâce à toi, merci  
	

	
	
		
		

		
		
	


	




.


----------



## myckmack (15 Novembre 2003)

Je viens de penser à une autre possibilité. Avec AppleScript, on peut exécuter des scripts shell : il suffit d'écrire un script AppleScript contenant un script shell et de l'enregistrer comme application  
	

	
	
		
		

		
		
	


	




.


----------



## fullstack (20 Novembre 2003)

c'est vrai et en cocoa aussi, avec les NSTask


----------

