首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bash中简单参数解析

bash中简单参数解析
EN

Stack Overflow用户
提问于 2018-11-16 19:17:07
回答 1查看 448关注 0票数 0

我对bash还不熟悉。我会向能帮助我解决这个问题的人寻求帮助。我已经创建了一个用于备份的脚本。下一步是让这个脚本在将来某个特定的时间戳上运行。我知道我可以用crontab做到这一点。我的问题是,脚本需要用户的一些输出才能正常运行。(你可以看到它询问路径)我需要做的是让脚本接受一个参数(路径),这样它就可以像这样运行: backup.sh -path=/tmp/myfoldertobackup从我刚刚读到的,似乎我必须使用getopts,但这仍然让我很困惑。看起来我还需要设置没有输入参数时的大小写。请帮帮我!

任何建议都将不胜感激!谢谢!

代码语言:javascript
复制
#!/bin/bash
#Simple backup script for onee.newdomain.tk
echo - e "Please tell me the path of directory you'd like to backup?"
read directory
cd $directory
mkdir backup
#mkdir "backup_$(date +'%Y_%m_%d__%H_%M_%S')"
SOURCEDIR=$directory
tar -czvf public.tgz public_html
mysqldump -u onee -pjFztm3s72anA oneex > onee.mysqlbackup.sql
mv public.tgz $directory/backup/
mv onee.mysqlbackup.sql $directory/backup/
mv backup backup.`date +"%d-%m-%Y"`
echo "==============================="
echo "Done!"
echo "==============================="
EN

回答 1

Stack Overflow用户

发布于 2018-11-16 20:19:31

下面是一个示例脚本,它将为您完成此操作:

代码语言:javascript
复制
#!/bin/bash

while [ $# -gt 0 ]; do
  case "$1" in
    -path=*)
      directory="${1#*=}"
      ;;
    *)
      echo "Invalid args: $@"
      exit 1
  esac
  shift
done

# You can do whatever with $directory here
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53336792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档