+ -
当前位置:首页 → 问答吧 → ubuntu 10.06 shell 对++运算错误的问题

ubuntu 10.06 shell 对++运算错误的问题

时间:2011-11-21

来源:互联网

照书上抄的,关于if的用法

#!/bin/bash
for filename in 'ls'
do
cp $filename ./backup/$filename
if ( $? -ne 0 ) then
echo "copy failed"
fi
done

程序的意思就是把一个文件夹的内容在子目录做备份
为什么执行报错
cp: 无法获取"ls" 的文件状态(stat): 没有那个文件或目录
./if: 行 5: 1: 未找到命令

开始怀疑是子目录没创建,但是我 建一个 backup的目录,还是一样报错啊?
这是什么情况啊?

还有,我发现这书上写的 if 有点乱;
if 后面 有时是 小括号 有时是中括号
有时括号后面有 封号,有时后面又没有封号
这是怎么回事?

谢谢啦

作者: double_crane   发布时间: 2011-11-21

for filename in `ls`

作者: cuihao   发布时间: 2011-11-21

小括号貌似是C语法,不能你那么写的:
代码:
if (($? != 0 )); then

作者: cuihao   发布时间: 2011-11-21

照书上抄的,关于if的用法

#!/bin/bash
for filename in 'ls'
do
cp $filename ./backup/$filename
if ( $? -ne 0 ) then
echo "copy failed"
fi
done

程序的意思就是把一个文件夹的内容在子目录做备份
为什么执行报错
cp: 无法获取"ls" 的文件状态(stat): 没有那个文件或目录
./if: 行 5: 1: 未找到命令

开始怀疑是子目录没创建,但是我 建一个 backup的目录,还是一样报错啊?
这是什么情况啊?

还有,我发现这书上写的 if 有点乱;
if 后面 有时是 小括号 有时是中括号
有时括号后面有 封号,有时后面又没有封号
这是怎么回事?

谢谢啦

作者: double_crane   发布时间: 2011-11-21

for filename in `ls`

作者: cuihao   发布时间: 2011-11-21

小括号貌似是C语法,不能你那么写的:
代码:
if (($? != 0 )); then

作者: cuihao   发布时间: 2011-11-21

照书上抄的,关于if的用法

#!/bin/bash
for filename in 'ls'
do
cp $filename ./backup/$filename
if ( $? -ne 0 ) then
echo "copy failed"
fi
done

程序的意思就是把一个文件夹的内容在子目录做备份
为什么执行报错
cp: 无法获取"ls" 的文件状态(stat): 没有那个文件或目录
./if: 行 5: 1: 未找到命令

开始怀疑是子目录没创建,但是我 建一个 backup的目录,还是一样报错啊?
这是什么情况啊?

还有,我发现这书上写的 if 有点乱;
if 后面 有时是 小括号 有时是中括号
有时括号后面有 封号,有时后面又没有封号
这是怎么回事?

谢谢啦

作者: double_crane   发布时间: 2011-11-21

for filename in `ls`

作者: cuihao   发布时间: 2011-11-21

小括号貌似是C语法,不能你那么写的:
代码:
if (($? != 0 )); then

作者: cuihao   发布时间: 2011-11-21