【问题标题】:Bash script - "tar czf ..." command ignore parametersBash 脚本 - “tar czf ...”命令忽略参数
【发布时间】:2014-04-04 11:17:42
【问题描述】:

我有一个简单的 bash 脚本,名为 script.sh

!#/bin/bash
tar czf /var/log/apache2/Backup_$(date "+%d-%m-%Y").tar.gz /var/log/apache2/ --exclude='backup*' --exclude='Backup*'

当我在 SSH-Console 中运行这一行时,一切正常,但是当我在 linux 控制台上使用 bash ./script.sh 运行 .sh-script 时

然后tar czf ... 命令有效,但忽略 --exclude 参数

怎么了?我不知道...:/

【问题讨论】:

  • 你怎么知道它忽略了排除参数?
  • 什么忽略了排除参数? “bash 脚本”或“tar”。
  • 你的 shebang 中有错字,应该是 #!/bin/bash 而不是 !#/bin/bash

标签: linux bash sh


【解决方案1】:

你必须使用:

!#/bin/bash
tar -czf /var/log/apache2/Backup_`date "+%d-%m-%Y"`.tar.gz /var/log/apache2/ --exclude='backup*' --exclude='Backup*'

【讨论】:

    【解决方案2】:

    试试这个:

    更新

    #!/bin/bash
    tar  -cZf /var/log/apache2/Backup_$(date +%Y%m%d).tgz.gz /var/log/apache2/ --exclude='backup*' --exclude='Backup*'
    

    exclude 是一种模式... 看到这些帮助:help1help2help3

    【讨论】:

    • 不,这不会改变任何东西,只有文件名,但参数“exclude=”也会被忽略。
    猜你喜欢
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 2023-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    相关资源
    最近更新 更多