Shell Scripting:使用变量定义路径

时间:2012-01-21 04:36:23

标签: bash shell variables path

我的问题在于我对 shell变量的困惑。

根据我的理解,变量允许我存储一个值(本例中为String)并稍后在我的代码中调用它。因此,如果我想要一个变量来保存路径到某些脚本集,我理想情况下可以像这样存储它:

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

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

我尝试做的事情(可能是错误的语法)是将路径设置为变量SPTH

然后我将cd与参数$SPTH一起使用。

理想情况下,这样我就可以在不输入路径的情况下运行文件。然而,它不起作用。 $SPTH 会被忽略,结果就好像单独使用 cd 一样。

那么我做错了什么?那会是什么方法呢?

2 个答案:

答案 0 :(得分:77)

不要使用空格......

(错误)

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

(正确)

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

答案 1 :(得分:3)

要添加到上述正确答案中:- 就我在shell中的情况而言,此代码有效(适用于sqoop

ROOT_PATH="path/to/the/folder"
--options-file  $ROOT_PATH/query.txt