Подтвердить что ты не робот

Shell Scripting: использование переменной для определения пути

Я новичок в Linux, и я провел последние несколько дней с Shell Scripts. Я решил начать с простого. Я создаю программу "Батлер", которая предоставляет некоторый пользовательский интерфейс для терминала, когда я его открываю. На самом деле просто проверить все.

В любом случае, моя проблема связана с моей путаницей с переменными оболочки. Насколько я понимаю, переменные позволяют мне сохранять значение (в данном случае String) и вызывать его позже в моем коде.

Итак, если бы я хотел иметь переменную, которая содержит длинный путь к некоторому набору скриптов, я мог бы в идеале просто сохранить его?

Вот что я имею в виду:

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

//Later on in that script//

cd $SPTH
./script1

То, что я пытаюсь сделать, возможно, с неправильным синтаксисом, - это установить путь к переменной SPTH.Later на я us "cd", и я установил аргумент как $SPTH. В идеале это позволило бы мне запустить файл без ввода пути.

Однако это не работает. Он просто игнорирует "$ SPTH" и обрабатывает команду как "cd".

Так что я делаю неправильно? И какой способ это сделать?

4b9b3361

Ответ 1

Не используйте пробелы...

(Некорректное)

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

(правильный)

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