这个shell脚本代码意味着什么

时间:2012-05-21 07:07:23

标签: linux bash shell unix tar

我需要一些帮助才能理解给定shell脚本的以下几行。

此处$_filecount变量保存要归档的文件数

这里我想知道$TARC意味着什么,在这个命令上搜索但没有得到TARCTARU命令的结果。任何人都可以解释一下这些命令是什么

_archive=${ARCHIVE_PATH}/${_name}_$(hostname)_${_today}.tar


if [ $_filecount -ne 0 ]; then
      if ! [ -f ${_archive} ]; then
        touch ${ARCHIVE_PATH}/${_today}
        $TARC ${_archive} -C ${ARCHIVE_PATH} ${_today}
        rm -f ${ARCHIVE_PATH}/${_today}
      fi
      for i in ${_filelist}; do

        $TARU ${_archive} -C ${_path} $i
        [ $? -eq 0 ] && rm -f ${_path}/$i
      done
    fi

在{TARC cygwin行使用${_archive} -c ${ARCHIVE_PATH} ${_today}运行此代码时返回以下错误

tar: invalid option -- 'E'
Try `tar --help' or `tar --usage' for more information.

提前感谢任何帮助

1 个答案:

答案 0 :(得分:2)

$TARC$TARU是变量(如果它们未在您的脚本中定义,那么它们必须是环境变量)

尝试echo $TARC查看它们的设置。

看起来TARC是要归档的tar命令,而TARU是要取消归档的tar命令。

TARC和TARU必须设置在某处,否则你会得到一个不同的错误 - 你看到的错误是特定于tar的。