Inf*_*ien 7 bash cp dd shell-script
我目前正在编写一个小脚本来备份大量软盘,然后将它们格式化以备后用。
我dd用来复制磁盘的映像并复制磁盘上的cp所有文件。
以下是我用来执行此操作的命令:
# Copying disk image
dd if="/dev/fd0" of="/path/to/backup/folder" &>/dev/null && sync
# Copying disk files
cp -R "/mnt/floppy/." "/path/to/backup/folder/" &>/dev/null
Run Code Online (Sandbox Code Playgroud)
在这个过程之后,脚本需要格式化软盘。我的问题是我希望我的脚本只有在两个备份命令 (dd和cp) 都成功时才能格式化软盘。
例如,如果dd因为坏块而无法复制所有1.44MB 的软盘,则不要格式化软盘。
如何测试两个命令是否成功(它们必须单独测试,因为我并不总是同时备份磁盘的映像和文件)?
我会做:
ok=true
if dd ...; then
sync
else
ok=false
fi
cp ... || ok=false
if "$ok"; then
mformat...
fi
Run Code Online (Sandbox Code Playgroud)