Bash
我的 bash 腳本有什麼問題?
我很難弄清楚我的腳本有什麼問題。
#!/bin/bash echo "Good Day $USER" if [ -f "$1" ] then tar -cvf home-10-07-2017.tar --files-from /dev/null echo "You are about to back up the following files… $*" for i in "$@" do if [ -f "$i" ] then PROCEED='YES' else PROCEED='NO' fi if [ $PROCEED='YES' ] then tar -rvf home-10-07-2017.tar "$i" fi done tar -vzf home-10-07-2017.tar.gz else echo 'You did not enter any files to backup' fi
當我執行腳本時,出現以下錯誤
./backups.sh first.txt second.txt Good Day fed You are about to back up the following files… first.txt second.txt first.txt second.txt tar: You must specify one of the '-Acdtrux', '--delete' or '--test-label' options
最後一行的實際錯誤
tar
(我猜這是您的主要問題)是因為您沒有指定實際操作。f
指定後面跟著一個文件名。說要詳細v
地做某事。表示該z
文件已壓縮(並且大多數版本tar
都是多餘的)。我猜你想要的動作是
t
- 列出文件。在這種情況下,您需要:tar -tvzf home-10-07-2017.tar.gz