我无法选择将脚本作为命令行参数运行的路径,测试是否存在,然后更改为该路径以执行工作。在这里我正在尝试:
#!/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
答案 0 :(得分:4)
改变这个:
if [ -d scriptpath ]
到此:
if [ -d $scriptpath ]
另外,我建议使用""
,这样当参数包含奇怪的字符时,脚本仍能正常运行。 (Unix允许空格,换行符,星号,甚至控制文件名中的字符。)所以:
scriptpath="$1"
...
if [ -d "$scriptpath" ]