我正在制作一个备份脚本来压缩文件并将它们通过 ftp 传输到 Windows 服务器。我现在所拥有的可以工作,但是它需要为每个我想在执行时单独备份的文件夹提供一个参数。/path/可能包含许多我想要备份的文件夹,我想自动执行此脚本以获取/path/中的每个文件夹,并通过一次运行脚本将它们备份到自己的 .zip 中。谁能提供有关如何执行此操作的任何见解?或者至少我如何获取每个目录并进行迭代?
#!/bin/sh
HOST='x.x.x.x'
USER='user'
PASSWD='pass'
now=$(date +"%m_%d_%Y")
cd /path/
PROC=$1
DIR="$PROC"
FILE="$PROC"."$now.zip"
echo $FILE
zip -r $FILE $DIR
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
binary
mkdir $PROC
cd $PROC
put $FILE
quit
END_SCRIPT
#exit 0
~
最佳答案
cd /path
for dir in */; do echo "$dir"; done
尾部斜杠将通配符结果限制为仅当前目录中的目录。
关于bash - 如何获取当前目录中的每个文件夹并将其迭代到脚本中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20644044/