URL: https://linuxfr.org/users/jul/journaux/besoin-d-aide-pour-un-truc-correct-en-bash Title: besoin d'aide pour un truc correct en bash Authors: Jul Date: 2025年11月21日T15:57:51+01:00 License: CC By-SA Tags: bash Score: 3 Salut, Je me disais, que tel la RiiR, rust evenlegical task force rugissant qu'il faut tout ré-écrire en Rust, j'allais me lancer sur le créneau du BieR ; Bash In thE Rewrting; ou tout simplement ré-écrivons tout en bash. Et je suis arrivé sur un cas pratique mignon que je pensais utiliser pour illustrer quelques bashismes (shellisme) kawai dans le process et en profiter pour évangéliser encore plus. # Le besoin C'est une application en bash qui quand on lui donne un fichier bash en argument, la source et change le prompt de manière à suivre les exports (éventuels) que l'on a fait. Genre, t'as tes tokens d'accès à la prod/dev/test d'un coté, et db/web de l'autre. Et pour se faire plaisir on fait en 20 lignes une petites interfaces interactives si aucun fichier n'a été rentré pour choisir parmi les candidats dans un répertoire prédéfini. Et comme ssh le fait et que c'est cool on prévient quand les droits sont trop lâches. Ça sert pas à grand chose, mais on fait ce que l'on peut avec ce que l'on a. Et quand on veut sortir, Ctrl+D ou exit et on revient dans l'environnement d'avant. Un peu comme un pushd/popd des variables d'environnement. # Ça marche ... comme annoncé. Sauf que ... # ça marcherait presque Quand on appelle l'history dans les sous shells. Et que l'on s'aperçoit que le script y est injecté, et que je ne comprends pas pourquoi. Je sais juste remédier dès que je peux. Prouvant mon ignorance certaine dans le mécanisme du she bang et son impact sur l'history. Je pense tracer mon problème à `#!/usr/bin/env -S bash --norc -i ` et ça m'inquiète de ne pas savoir plus que ça, car je montre une coupable ignorance dans un truc fondamentaux des shells : bien écrire son she bang, et anticiper ses effets. Donc, si vous pouviez m'éclairez sur le « comment le script est in injecté dans l'history bash », je vous serais reconnaissant. Au diable les évangélistes, et amusons nous en apprenant ! Ci suit le [gist](https://gist.github.com/jul/817feed13de86707fded04296812cea1) ```bash #!/usr/bin/env -S bash --norc -i # should not be in history set +o history STASH=~/.secrets RZ="\e[0m" GR="\e[92m" RD="\e[91m" HL="\e[1m" usage() { cat <

AltStyle によって変換されたページ (->オリジナル) /