bash - 如何获取当前目录中的每个文件夹并将其迭代到脚本中

标签 bash shell

我正在制作一个备份脚本来压缩文件并将它们通过 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/

相关文章:

bash - Ubuntu 14.04 - 如何使用脚本在关机时播放 ogg 文件?

bash - 如何在 bash 中引用 glob 扩展文件名?

git fetch --quiet 正在写入标准输出而不是保持沉默

linux - 用于在 linux shell 上将 wav 编码为 aac 的库?

regex - 如何用sed插入html标签?

bash 羊群 : Why 200?

ios - 如何使用 HeaderDoc 在 Xcode 中为 SWIFT 文件生成 HTML 文档?

c - scanf(),Linux 的 shell 输入处理不同,为什么?

php - 终端从包含空格的变量传递参数

windows - Beego(戈朗): Create new project via CLI in Windows