Shell Script: Utilisation d'une variable pour définir un chemin d'accès
Mon problème réside avec ma confusion avec variables shell.
À ma connaissance, les variables de me permettre de stocker une valeur (Chaîne de caractères dans ce cas) et de l'appeler plus tard dans mon code. Donc, si je voulais avoir un variable qui contient le chemin d'accès à un ensemble de scripts, je pourrais idéalement juste de le stocker comme ceci:
SPTH = '/home/Foo/Documents/Programs/ShellScripts/Butler'
//Later on in the script//
cd $SPTH
./script1
Ce que je suis en train de faire, avec probablement la mauvaise syntaxe, est de définir le chemin d'accès à variable SPTH
.
Puis-je utiliser cd
avec l'argument $SPTH
.
Dans l'idéal, cela me permettrait de exécuter le fichier sans avoir à taper le chemin d'accès. Toutefois, il ne fonctionne pas. Le $SPTH
est ignoré et le résultat est comme si cd
a été utilisé seul.
Donc ce que je fais mal? Et ce serait une façon de le faire?
- Si je me souviens bien, vous n'utilisez pas d'espaces entourant le "=".
Vous devez vous connecter pour publier un commentaire.
Ne pas utiliser d'espaces...
(Incorrect)
(Correct)
SPTH
dans votre script, et sa valeur a un espace, puis entourer la variable avec des guillemets doubles. E. g.cd "$SPTH"
command $SPTH
mais qui me semble risqué. Peut-être que j'ai besoin de la variable de chemin d'accès, mais coder en dur le nom du script?command $SPTH/somescript.sh
?