UNIX shell脚本while循环

时间:2011-09-23 20:36:29

标签: shell unix

我正在尝试编写一个脚本来跟踪文件更改的进度。

到目前为止,我有以下内容:

#!/bin/sh
old=‘ls -l /tmp/file‘
new=‘ls -l /tmp/file‘
while [ "$old" = "$new" ]
do
    new=‘ls -l /tmp/file‘
done
echo "The file has been changed"

运行时上面的程序给出了消息:

new: command not found

有人可以帮忙。

由于

1 个答案:

答案 0 :(得分:1)

=可能有空格。

在shell中,当您分配值时,不能在=周围添加空格:

MY_VAR = "my value"  # this is wrong!

Shell会认为:“用参数调用MY_VAR :('=','my value')”,等等!我不知道命令“MY_VAR”!

你需要这样做:

MY_VAR="my value"  # this is OK!

BTW,请考虑使用inotifywatch命令。这是一个例子:

inotifywatch -v -e access -e modify -t 60 -r /file/to/watch