Skip to main content
 首页 » 编程设计

linux之使用选项参数运行脚本

2026年05月17日26oomusou

我想用选项 -d 选择一个我想在主目录中备份的目录

我有这个脚本:

#!/bin/bash- 
 
date_created="backup-`date +"%Y%m%d-%H%M"`"; 
backup_directory_name=$date_created; 
directory="backup/"; 
 
getopts d:t: option; 
 
case $option in 
    d) 
            directory=$1; 
    ;; 
 
    t) 
            backup_directory_name=$1; 
    ;; 
esac 
 
cd ~; 
tar cvpfz $backup_directory_name.tgz $directory; 

当我使用一个选项时它不会运行,我得到以下错误:

tar:您不能指定多个 -Acdtrux--test-label 选项 尝试使用 tar --help' 或 tar --usage' 获取更多信息。

请您参考如下方法:

您可能需要将其重写为围绕 getopts() 的循环:

while getopts "..." opt ; do 
    case $opt in 
    ... 
done 
 
shift $((OPTIND-1))