今天第一天开始好好看有关shell的东西,看的ABS-Guide这本身,一开始就出现了好多错误,虽然示例的代码很简单。
echo hello
echo there
if [ -x "$filename" ]; then
echo "exists"
cp $filename $filename.bak
else
echo "not found"
# touch -acfm $filename
fi
echo $filename
首先是提示[-x....]这里出错,是因为中括号与-x直接缺少了空格;
第二个错误也是因为if跟[]直接缺少了空格导致then出错,看来shell编程中空格真的蛮重要的;
第三个就是找不到filename,因为定义的是局部变量,没有export导出为环境变量,导出之后就可以查找到文件了
不过touch一直提示我错误,最后也不知道怎么回事,提示参数有问题,所以注释掉了
[root@localhost ~]# sh semicolon.sh
hello
there
exists
test.sh
这是显示的结果,写代码的时候注意空格,否则会出现很多错误的。