Ce que je pointe, moi, c'est la différence entre exécuter et sourcer tes scripts. Tu as essayé de sourcer tes 2 scripts plutôt que de les exécuter ? Encore une fois, cela permet de garder le même contexte.
Ce que je pointe, moi, c'est la différence entre exécuter et sourcer tes scripts. Tu as essayé de sourcer tes 2 scripts plutôt que de les exécuter ? Encore une fois, cela permet de garder le même contexte.
Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.
Exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $ cat demo_sans_i.sh #!/usr/bin/bash echo "$-" $ ./demo_sans_i.sh hB
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $ cat demo_avec_i.sh #!/usr/bin/bash -i echo "$-" $ ./demo_avec_i.sh himB
Cordialement.
bonjour, j'ai dû mal utiliser tes exemples, car j'ai mis tes deux exemples dans deux scripts et j'obtient la chose suivante :
et pour l'autre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 '/home/marlene/demo_avec_i.sh' $ cat demo_avec_i.sh #!/usr/bin/bash -i echo "$-" $ ./demo_avec_i.sh himB hBH ./demo_sans_i.sh: ligne 1: $ : commande introuvable hBH ./demo_sans_i.sh: ligne 6: $ : commande introuvable ./demo_sans_i.sh: ligne 7: himB : commande introuvable /home/marlene/demo_avec_i.sh: ligne 7: hB : commande introuvable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 '/home/marlene/demo_sans_i.sh' /home/marlene/demo_sans_i.sh: ligne 1: $ : commande introuvable hBH /home/marlene/demo_sans_i.sh: ligne 6: $ : commande introuvable /home/marlene/demo_sans_i.sh: ligne 7: himB : commande introuvable
Les $ en début de ligne est un prompt, ici, tu vois des commandes lancées depuis un terminal...
Les scripts ne sont que:
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #!/usr/bin/bash echo "$-"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #!/usr/bin/bash -i echo "$-"
Cordialement.
La balise -i veut dire que l'on rend le script interactif ?
Je dois l'ajouter de façon général à tous mes scripts si je veux les rendre interactif ?
Juste à celui va sourcer le .bashrcConda
Cordialement.
Tout d'abord, merci à tous pour votre aide (et merci au développeur de bashbug)
Effectivement le problème venait du -i après bash permettant de rendre le script interactif.
Maintenant disedorgue sais tu pourquoi de "base" les scripts sont déclaré non interactif, il y a sans doute une raison.
Un shell interactif est un shell avec une entrée clavier et une sortie ecran, donc lié à un terminal.
Un script shell est par nature autonome, il fait son job et rend la main, il n'y a donc pas d'utilité à ce qu'il soit lié à un terminal.
Et pourquoi Anaconda ne configure son env que dans le cas d'un shell interactif ?
Tout simplement parce que les commandes d'anaconda utilise leur propre fichier de conf, l'init pour le shell est juste une facilité pour l'utilisateur.
Cordialement.
Je vois ce que tu veux dire .
Merci pour ton aide, et ton application a me répondre malgré mon manque de connaissance .
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager