Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SCRIPT] Syntaxe des scripts
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
Anard
Apprentice
Apprentice


Joined: 01 Oct 2020
Posts: 236

PostPosted: Mon Mar 27, 2023 7:25 pm    Post subject: [SCRIPT] Syntaxe des scripts Reply with quote

Bonsoir,

J'ai une petite question idiote.
J'ai remarqué qu'il est souvent conseillé dans les scripts système (cron, /etc/local.d, /etc/udev/rules.d), d'utiliser les chemins exacts des fonctions plutôt que le nom de la fonction (p/ ex /usr/sbin/ethtool plutôt que ethtool).
Pourriez-vous me donner une bonne raison à cela ?
Je demande ça car j'ai réutilisé récemment un script déniché dans les wikis d'ArchLinux utilisant une règle udev sur ethtool et mentionnant "/usr/bin/ethtool".
La règle ne fonctionnait pas chez moi puisque ethtool est placé dans /usr/sbin

Pourquoi ne pas utiliser en priorité le nom de la fonction plutôt que son chemin, qui lui varie d'un système à l'autre ?

Merci pour vos éclaircissudes.
_________________
"iMack" : GA-H97M-D3H, Intel i7 4790, 16Go DDR3, Intel HD4600, 2x SSD 256Go, HDD 500Go+2To / Clover - macOS Mojave / Gentoo-Xfce
"Portable" : HP 350G3, HDD 500Go / rEFInd - Xubuntu 20.04 / Windows 10


Last edited by Anard on Wed Apr 05, 2023 6:57 pm; edited 1 time in total
Back to top
View user's profile Send private message
ghoti
Advocate
Advocate


Joined: 30 Dec 2002
Posts: 3634
Location: Belgium

PostPosted: Mon Mar 27, 2023 10:13 pm    Post subject: Re: Syntaxe des scripts Reply with quote

Bonsoir,
Anard wrote:
Pourquoi ne pas utiliser en priorité le nom de la fonction plutôt que son chemin, qui lui varie d'un système à l'autre ?

Sur ton système, il pourrait éventuellement exister des programmes portant le même nom mais avec une version différente ou effectuant des actions inattendues.
Si tu n'indiques pas le chemin explicite, le programme sera recherché dans les chemins renseignés dans ta variable $PATH et c'est le premier exemplaire trouvé qui sera exécuté. La roulette russe, quoi !
La seule manière d'être certain d'exécuter le bon programme est d'indiquer explicitement son chemin complet.
Back to top
View user's profile Send private message
El_Goretto
Moderator
Moderator


Joined: 29 May 2004
Posts: 3174
Location: Paris

PostPosted: Wed Apr 05, 2023 8:38 am    Post subject: Reply with quote

Salut Anard,

Peux-tu STP mettre ton titre en conformité avec les règles en usage sur notre forum (Le format choisi est : [THEME] description (état))?
_________________
-TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT)
Back to top
View user's profile Send private message
Adrien
Advocate
Advocate


Joined: 13 Jul 2004
Posts: 2311
Location: Bretagne

PostPosted: Thu Apr 06, 2023 3:00 pm    Post subject: Re: [SCRIPT] Syntaxe des scripts Reply with quote

Anard wrote:

J'ai une petite question idiote.


Une question qui m'a été très utile ainsi que sa réponse.
Merci :!:
Back to top
View user's profile Send private message
admnd
n00b
n00b


Joined: 07 Apr 2021
Posts: 11

PostPosted: Tue Apr 18, 2023 3:13 pm    Post subject: Re: [SCRIPT] Syntaxe des scripts Reply with quote

Adrien wrote:
Anard wrote:

J'ai une petite question idiote.


Une question qui m'a été très utile ainsi que sa réponse.
Merci :!:


Pour complémenter la réponse qui a été donnée ci-avant: c'est aussi un gage de sécurité.Il est ainsi certain que ce soit le "vrai" programme qui est exécuté et pas quelque chose de bizarre (sous réserve que vos permissions d'accès ne soient pas un gruyère).

Commentaire d'ordre général: Il n'y a pas de question technique stupide (même les meilleurs ont commencé de rien) par contre il y a souvent beaucoup de paresse... Il est plus simple et plus "rapide" de poser une question dans un forum ou une liste de discussion que de prendre du temps pour chercher une réponse (souvent maintes et maintes fois formulée) ou de passer un peu de temps à essayer soi-même quelques trucs. problème en faisant cela c'est que ceux qui ont expertise plus poussée finissent par se lasser et cessent d'alimenter les discussions pour consacrer leur peu de temps libre à des activités plus intéressantes que de s'épuiser à remplir le tonneau des Danaïdes.
Back to top
View user's profile Send private message
Skwal
Apprentice
Apprentice


Joined: 07 Jun 2019
Posts: 154

PostPosted: Sat Apr 22, 2023 8:49 pm    Post subject: Reply with quote

Bonsoir;

Question simple et très intéressant, ça peut expliquer d'éventuels "bugs" du coup.

Quote:
Commentaire d'ordre général: Il n'y a pas de question technique stupide (même les meilleurs ont commencé de rien) par contre il y a souvent beaucoup de paresse... Il est plus simple et plus "rapide" de poser une question dans un forum ou une liste de discussion que de prendre du temps pour chercher une réponse (souvent maintes et maintes fois formulée) ou de passer un peu de temps à essayer soi-même quelques trucs. problème en faisant cela c'est que ceux qui ont expertise plus poussée finissent par se lasser et cessent d'alimenter les discussions pour consacrer leur peu de temps libre à des activités plus intéressantes que de s'épuiser à remplir le tonneau des Danaïdes.


J'ai eu mal au crâne... un samedi soir du coup, mais je suis obligé d'interagir:

Il y a effectivement beaucoup de paresse, ça n'a pas que des mauvais côté, par exemple je ne me suis jamais posé cette question et je tombe sur ce sujet, c'est intéressant.
De plus je mange d'énormes quantités d'informations chaque jours mais n'ai pas forcément l'esprit ou l'intelligence pour comprendre les "fiches techniques" alors que dans une telle discussion j'y arrive bien plus facilement, gros gain de temps au final !

Quote:
remplir le tonneau des Danaïdes

Du coup j'ai été chercher l'info, comme quoi ce genre de sujet est très pédagogique, mais un samedi soir... j'ai fermé la page pour éviter une prise de tête mais ça à l'air franchement intérerssant.
admnd, nous n'avons pas forcément vos connaissances ou/et vos compétences, moi perso je galère car je suis pas doué en informatique (mais passionné), c'est à ça que servent les forums, échanger. :)

Cordialement, Skwal.
Back to top
View user's profile Send private message
Adrien
Advocate
Advocate


Joined: 13 Jul 2004
Posts: 2311
Location: Bretagne

PostPosted: Tue Apr 25, 2023 11:07 am    Post subject: Reply with quote

Skwal wrote:

admnd, nous n'avons pas forcément vos connaissances ou/et vos compétences, moi perso je galère car je suis pas doué en informatique (mais passionné), c'est à ça que servent les forums, échanger. :)

Cordialement, Skwal.

+1

C'est mon cas également et cela ne m'empêche pas de chercher des solutions et faire des essais pendant parfois longtemps avant de poster.
Il est bon que des non-initiés s'instruisent, se confrontent au fonctionnement de Linux et viennent chercher (et trouver) de l'aide ici.
Back to top
View user's profile Send private message
Dominique_71
Veteran
Veteran


Joined: 17 Aug 2005
Posts: 1895
Location: Switzerland (Romandie)

PostPosted: Thu Oct 12, 2023 11:59 am    Post subject: Reply with quote

Comme déjà relevé, l'élément sécurité est important.

Il y a aussi que certaines commandes internes de bash et consorts (voir 'man builtin') sont aussi présentent dans /bin, par exemple echo (voir man echo), et qu'elles n'ont pas forcément la même syntaxe. Donc 'echo $xyz' va appeler la commande interne, tandis que '/bin/echo $xyz' va appeler la commande externe.
Back to top
View user's profile Send private message
Dominique_71
Veteran
Veteran


Joined: 17 Aug 2005
Posts: 1895
Location: Switzerland (Romandie)

PostPosted: Thu Oct 12, 2023 12:09 pm    Post subject: Reply with quote

Tu ne dis pas si tes scripts sont pour bash ou pour sh. Avec bash, aucun problème on est toujours dans bash.

Par contre avec sh, sous gentoo on est dans bash, sous debian et les distros basées sur debian on est dans dash, une version POSIX de sh développée par debian et qui a une syntaxe beaucoup plus restrictive que celle de bash en mode sh. Donc si tes scripts sont pour sh et que tu veux qu'ils soient portables, au moins sur n'importe qu'elle distribution linux, il faut installer dash et les tester et mettre au point avec celui-ci. Ils tourneront alors sans problème aussi bien avec sh, qu'avec dash et bash en mode sh.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum