web-dev-qa-db-fra.com

Script Shell: utilisation d'une variable pour définir un chemin

Mon problème réside dans ma confusion avec variables Shell.

À ma connaissance, les variables me permettent de stocker une valeur (String dans ce cas) et de l'appeler plus tard dans mon code. Donc, si je voulais avoir une variable qui contient le chemin vers un ensemble de scripts, je pourrais idéalement le stocker comme ceci:

SPTH = '/home/Foo/Documents/Programs/ShellScripts/Butler'

//Later on in the script//
cd $SPTH
./script1

Ce que j'essaie de faire, avec probablement la mauvaise syntaxe, est de définir le chemin d'accès à variable SPTH.

Ensuite, j'utilise cd avec l'argument $SPTH.

Idéalement, cela me permettrait de y exécuter le fichier sans taper le chemin d'accès. Mais ça ne marche pas. Le $SPTH est ignoré et le résultat est comme si cd était utilisé seul.

Alors qu'est-ce que je fais mal? Et quelle serait la manière de procéder?

32
Nonameghost

N'utilisez pas d'espaces ...

(Incorrect)

SPTH = '/home/Foo/Documents/Programs/ShellScripts/Butler'

(Correct)

SPTH='/home/Foo/Documents/Programs/ShellScripts/Butler'
78
Web User