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

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

À ma connaissance, les variables me permettent de stocker une valeur (chaîne 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 à variable SPTH.

Ensuite, j'utilise cd avec argument $SPTH.

Idéalement, cela me permettrait de exécuter le fichier sans taper dans le chemin . Toutefois, il ne fonctionne pas. L'$SPTH est ignoré et le résultat est comme si cd a été utilisé seul.

Alors, qu'est-ce que je fais de mal? Et quel serait un moyen de le faire?

25
demandé sur TT-- 2012-01-21 08:36:22

1 réponses

N'utilisez pas d'espaces...

(Incorrect)

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

(Correct)

SPTH='/home/Foo/Documents/Programs/ShellScripts/Butler'
70
répondu Web User 2012-01-21 04:38:37