3

我有这个 shell 脚本

#!/bin/sh
PATHS=( a b c d )

for PATH in ${PATHS[@]}
do
  rsync -avziP /home/user/$PATH $SERVER:$server_folder -b --backup-dir=$backup_folder/backup_$date --delete --exclude=.* --log-file=$HOME/rsync.log
done

我总是得到这个错误:

rsync:找不到命令

让我抓狂的是,如果我删除 for 循环,只运行 rsync 命令,脚本就可以完美运行

4

1 回答 1

4

PATH是一个保留变量!

它是指定在哪里搜索工具的变量(如rsync

$ set | grep ^PATH=
PATH=/home/user/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

使用另一个变量名!

于 2012-11-01T16:58:59.230 回答