# sh au début d'un script shell



## frol (9 Août 2006)

Bonjour,
j'ai fait un petit script en shell et pour le lancer je dois chaque fois faire sh ...
est-ce possible qu'il devienne comme une fonction normale(sans le sh devant)? 

merci
Frol


----------



## daffyb (9 Août 2006)

il faut faire un chmod 755 dessus (si mes souvenirs sont bons) afin de le rendre ex&#233;cutable


----------



## Zeusviper (9 Août 2006)

chmod 711 devrait meme suffir!  ou encore *chmod +x ton_Fichier*
(pour rappel : lecture = 4, écriture = 2, exécution =1 ; chmod abc ton_fichier avec a =droits pour le possesseur(toi), b le groupe, c tt le monde)

tu devrai aussi rajouter le shell nécessaire en début de script : 
#!/bin/sh 

aussi, si tu veux qu'il soit directement accessible comme une fonction standard, il faut aussi que l'executable soit stocké dans un dossier référencé par ton PATH!


----------



## frol (9 Août 2006)

Merci
Je teste tout ceci


----------



## FjRond (10 Août 2006)

Zeusviper a dit:
			
		

> tu devrai aussi rajouter le shell nécessaire en début de script :
> #!/bin/sh
> 
> aussi, si tu veux qu'il soit directement accessible comme une fonction standard, il faut aussi que l'executable soit stocké dans un dossier référencé par ton PATH!


En effet, faire commencer tout script shell par la ligne shebang : #!/bin/sh.
Pour que le script se lance comme n'importe quelle commande de Terminal, le mieux est me semble-t-il de créer un répertoire ~/bin dans sa petite maison, puis de l'ajouter au PATH par cette ligne de commande:

```
$ mkdir bin
$ echo 'PATH=${HOME}/bin:$PATH \nexport PATH' >> .profile
```


----------

