【发布时间】:2015-11-10 15:11:21
【问题描述】:
我正在寻找可以将 Windows 用户目录中的用户文件复制到备份驱动器的脚本。我几乎希望转移除 Appdata 之外的所有内容。我做了一个非常简单的脚本,但由于我要转移的文件夹名称中有空格(例如'/media/gage/Backup\ Drive/'),它说Drive' 不存在。
我正在尝试将目录从文件管理器拖放/粘贴到终端上,一旦我将它拖过来,它就会在整个路径周围出现's。有没有办法让输入识别带有's 的文件名?
这是我目前所拥有的(我真的是 bash 脚本的新手)
#!/bin/bash
echo "Enter the full path to the user's directory"
read srcName
echo "Enter the full path to the backup directory"
read dstName
echo "Copying from Users to Backup"
cd $srcName
cp -rp Documents $dstName
cp -rp Pictures $dstName
cp -rp Desktop $dstName
cp -rp Music $dstName
cp -rp Videos $dstName
cp -rp Downloads $dstName
cp -rp Favorites $dstName
感谢任何帮助
谢谢。
【问题讨论】:
-
这些名字的开头和结尾都没有
's;引号是句法,而不是文字。 -
顺便说一句,shellcheck.net 会为您捕捉到这一点,而无需任何人参与。
-
另外,使用
IFS= read -r srcName和IFS= read -r dstName... -
那就是:
srcName=$1; dstName=$2。 -
...然后,您将在输入命令名称后,但在按 Enter 运行它之前,拖放路径。
标签: linux bash shell drag-and-drop konsole