Existe-t-il un moyen d'inclure un autre script shell dans un script shell pour pouvoir accéder à ses fonctions?
Comme comment en PHP, vous pouvez utiliser la include
directive avec d'autres fichiers PHP afin d'exécuter les fonctions qui y sont contenues simplement en appelant le nom de la fonction.
source
commande, la question en soi est de savoir comment localiser l'emplacement d'unsource
fichier.Réponses:
Mettez simplement dans votre script:
Ou
la source
C
langue. Ici, la source exécute le script enfant dans le script principal. Que faire si je souhaite simplement appeler une fonction particulière à partir du script enfant?. script.sh
avec./script.sh
. J'ai perdu des heures à essayer de comprendre ce qui se passeLes réponses ci-dessus sont correctes, mais si vous exécutez le script dans un autre dossier, il y aura un problème.
Par exemple, les
a.sh
etb.sh
sont dans le même dossier, a include b avec. ./b.sh
pour inclure.Lorsque script exécuté sur le dossier, par exemple avec
xx/xx/xx/a.sh
, le fichierb.sh
ne sera pas trouvé:./b.sh: No such file or directory
.j'utilise
la source
Oui, utilisez la source ou la forme courte qui est juste
.
:la source
.
version fonctionnesh
aussi bien que sur Bash. Le "source" ne fonctionne que dans Bash.Dans ma situation, afin d'inclure à
color.sh
partir du même répertoire dansinit.sh
, je devais faire quelque chose comme suit.Je ne sais pas pourquoi
./
et pascolor.sh
directement. Le contenu decolor.sh
est le suivant.L'utilisation de
File color.sh
ne fait pas d'erreur, mais la couleur ne s'affiche pas. J'ai testé ceciUbuntu 18.04
et laBash
version est:GNU bash, version 4.4.19(1)-release (x86_64-pc-linux-gnu)
la source
init.sh
trouve (ils coïncident si vous l'avez lancé avec./init.sh
en premier lieu).La syntaxe est
source <file-name>
ex.
source config.sh
script - config.sh
script d'appel -
Vous pouvez apprendre à inclure un script bash dans un autre script bash ici .
la source