目录命令行参数

时间:2012-08-10 21:22:40

标签: bash shell unix

我无法选择将脚本作为命令行参数运行的路径,测试是否存在,然后更改为该路径以执行工作。在这里我正在尝试:

#!/bin/bash

scriptpath=$1

if [ $# -lt 1 ]
then
    echo "Usage: script.sh <directory_name>"
fi

if [ -d scriptpath ]
then
    # work......
else 
    echo "Directory does not exist"

fi

1 个答案:

答案 0 :(得分:4)

改变这个:

if [ -d scriptpath ]

到此:

if [ -d $scriptpath ]

另外,我建议使用"",这样当参数包含奇怪的字符时,脚本仍能正常运行。 (Unix允许空格,换行符,星号,甚至控制文件名中的字符。)所以:

scriptpath="$1"

...

if [ -d "$scriptpath" ]