こんにちは、私はコピーするフォルダの数を求めて、変数numFoldersに格納してからforループを押してみようとしています。 numFolders変数にはエスケープ文字が必要だとは思いますが、わかりません。本当にありがとう!Bashスクリプトのforループで事前定義された変数をインクリメントする方法は?
#!/bin/bash
echo "This script will copy an entire drive to a dropbox folder with the same drive name"
read -p "Please enter drive name (case-sensitive):" driveName
mkdir ~/Dropbox/$driveName
# original above
# create all folders
# documents and settings
# rsync --progress --recursive --ignore-existing
echo "Now copying $driveName > Documents and Settings to Dropbox > $driveName"
rsync --progress --recursive --ignore-existing "/Volumes/$driveName/Documents and Settings" ~/Dropbox/$driveName
# Ask for how many folders
read -p "How many folders do you want?" numFolders
# Asks for name of folder and copies that until copied all the # of specified folders
for (i=1; i<= $numFolders; i+=1)
do
echo $i
read -p "Please enter name of folder you'd like to copy as well" folderName
echo "Now copying $folderName to Dropbox $driveName"
rsync --progress --recursive --ignore-existing "/Volumes/$driveName/$folderName" ~/Dropbox/$driveName
done
パラメータの拡張を引用してください!定義によれば、答えに対するあなたのコメントに基づいて、どのフォルダとファイル名が期待されるのかわからない。スクリプトを非常に慎重に書く必要があります。 – chepner