首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

无法将bash变量用于tar的排除

在使用tar命令时,我们可以通过使用--exclude选项来排除某些文件或目录。然而,bash变量不能直接在tar命令中使用,因为tar命令不会对变量进行解析。但是,我们可以通过其他方式来实现这个目标。

一种方法是使用通配符来排除文件或目录。通配符可以使用bash变量来构建。例如,假设我们要排除名为"exclude_dir"的目录,我们可以使用以下命令:

代码语言:txt
复制
tar -czvf archive.tar.gz --exclude=exclude_dir *

在这个例子中,我们使用了通配符"*"来匹配当前目录下的所有文件和目录,并使用--exclude选项排除了"exclude_dir"目录。

另一种方法是使用find命令来生成要排除的文件列表,并将其传递给tar命令。我们可以使用bash变量来构建find命令。例如,假设我们要排除名为"exclude_dir"的目录,我们可以使用以下命令:

代码语言:txt
复制
find . -type d -name "exclude_dir" -exec basename {} \; > exclude_list.txt
tar -czvf archive.tar.gz --exclude-from=exclude_list.txt *

在这个例子中,我们使用find命令查找名为"exclude_dir"的目录,并将其基本名称写入exclude_list.txt文件中。然后,我们使用--exclude-from选项将exclude_list.txt文件传递给tar命令。

总结起来,无法直接将bash变量用于tar的排除。但是,我们可以使用通配符或find命令来实现类似的效果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

我可以在不source脚本的情况下将变量从Bash脚本导出到环境中吗

echo $VAR 有没有一种方法可以通过只执行 export.bash 而不 source 它获取 $VAR? 答: 不可以。 但是有几种可能的解决办法。...在调用 shell 的上下文中执行脚本: $ cat set-vars1.sh export FOO=BAR $ . set-vars1.sh $ echo $FOO BAR 另一种方法是在脚本中打印设置环境变量的命令.../set-vars2.sh)" $ echo "$FOO" BAR 在终端上执行 help export 可以查看 Bash 内置命令 export 的帮助文档: # help export export...-f 指 shell 函数 -n 从每个(变量)名称中删除 export 属性 -p 显示所有导出变量和函数的列表 ---- 参考: stackoverflow question 16618071...help eval 相关阅读: 用和不用export定义变量的区别 在shell编程中$(cmd) 和 `cmd` 之间有什么区别 ----

18020

Shell 编程(三):Shell 编程中的常用工具

inittab /etc/inittab /usr/share/vim/vim74/syntax/inittab.vim 命令格式 命令格式 locate [参数] [文件] 参数 作用 -e 将排除在寻找的范围之外...-f 将特定的档案系统排除在外,例如我们没有道理要把proc档案系统中的档案放在资料库中。 -q 安静模式,不会显示任何错误讯息。 -n 最多显示n个输出。 -r 使用正规运算式做寻找的条件。...n 使用Find命令时尽量在指定目录下进行搜索,否则会占用很多系统资源 Which命令 which命令用于查找文件。 which指令会在环境变量$PATH设置的目录里查找符合条件的文件。.../]# whereis -m bash bash: /usr/share/man/man1/bash.1.gz ``` 压缩 Linux 系统支持的打包压缩命令有很多种,不同命令所用的压缩技术不同,彼此无法相互压缩...,并不能将多个文件打包为一个大文件 tar tar(英文全拼:tape archive )命令用于备份文件。

53810
  • 练习题四

    …… 1.6.4 awk方法 awk中的变量: -vOFS=":" OFS 的内容就是 , 的内容 awk在显示每一列内容的时候,每一列之间的分隔符 -v 修改和创建awk可以使用的变量 [root@znix...另存为 :q  /tmp/**** 光标移动到文件的最后一行 G 光标移动到文件的第一行 gg 光标移动到文件的100行 100gg 100G :100 从光标所在位置将光标移动到当前行的开头 0 ...^ 从光标所在位置将光标移动到当前行的结尾 $ 删除当前行的内容 dd 删除当前行到文件的最后一行的内容 dG 删除当前行到文件的第一行的内容 dgg 粘贴 p 粘贴10次 10p 复制 yy 取消上一次的动作...-rw-r--r-- 1 root root 127455 Sep 12  2017 /backup/file2017-09-12.tar.gz 第2章 回顾课程 2.1 定时任务 每隔 2 个小时将...2)查看定时任务日志 /var/log/cron 2.2 无法连接linux 2.2.1 道路是否通畅 ping ip地址 实例2-1 无法ping通的解决办法: 服务器的ip地址是否正确 服务器网卡是否启动

    1.2K00

    打包压缩加密备份_bash笔记6

    ... # 支持通配符 tar -cf bash_bundle.tar "*.sh" 追加: # -r向已存在的包中添加一个文件 tar -rf bash_bundle.tar new.sh # 对比时间戳...-df sh1.tar test.sh # --exclude排除指定文件(排除md文件) tar -cf bundle.tar "*" --exclude "*.md" # 或者把需要排除的文件名写入文件...,通过-X选项排除 echo "*.md" > tar.ignore tar -cf bundle.tar "*" -X tar.ignore # 排除版本控制目录(.git, .svn之类的) tar...cpio 与tar类似,从stdin接收输入文件名,并把打包文件输出到stdout,多用于rpm软件包,不常用 特点是支持绝对路径:tar打包时会把绝对路径转相对路径,cpio不转,如果打包时输入了绝对路径...-av ayqy@:~/bak bash 交换参数位置即可 其它选项和特性: # -z压缩传输 rsync -zav bash bash.bak # --exclude排除指定文件 rsync

    1.2K30

    前端工程师Linux命令常见合集

    连接服务器的几种方式 git bash mac shell xshell 4 xftp4 连接服务器命令ssh root@0.0.0.0 其中ssh是一种协议,root表示连接的服务器用户名,0.0.0.0...sbin 基本的系统命令 比如shutdown,reboot,用于启动系统,修复系统,只有管理员才可以使用 /use/bin 后期安装的一些软件运行脚本 /use/sbin 用户安装的系统管理的必备程序...环境变量 当我们在命令行中输入命令的时候,系统会在环境变量中去寻找,如果都没有就无法找到这个命令。 环境变量定义的是系统搜索命令的路径 echo $PATH,查看环境变量。...操作系统的多用户的,用户变量仅仅针对当前用户生效。系统变量针对所有用户生效。...-v排除指定字符串。 grep命令表示在文件中搜索符合条件的字符串。

    41420

    Bash: Command Not Found命令未找到

    但是当你了解问题的根本原因时,它会逐渐提高你的知识。command not found命令未找到的错误通常没有直接的解决方案。这里给你一些提示和指示,这应该可以帮助你排除故障。...在本教程中我们将探讨bash: command not found命令未找到的原因以及解决方法。我们将以ipconfig命令为例说明错误的原因。...确保该命令已安装在你的系统上 这是bash: command not found命令未找到错误,另一个常见原因。如果尚未安装,则无法运行命令。...在某些情况下,流行的命令可能会停止使用,你甚至可能不能再安装它。你必须找到一个可替代的命令。 以ifconfig命令为例。这个不推荐使用的命令用于获取IP地址和其他网络接口信息。...检查命令是否在PATH环境变量的路径中 在某些情况下,你下载的软件是一个tar文件,将其解压缩并找到一个可执行文件以及运行程序所需的文件。你可以使用相对路径来启动这个程序。

    5.8K10

    从云课五分钟到一分钟之v-rep_pro_edu_v3_6_2

    解压文件: bash复制代码 tar -xf v-rep_pro_edu_v3_6_2_ubuntu16_04/V-REP_PRO_EDU_V3_6_2_Ubuntu16_04.tar.xz这条命令解压在克隆下来的文件夹中的压缩文件...切换目录: bash复制代码 cd ~/V-REP_PRO_EDU_V3_6_2_Ubuntu16_04这条命令将当前工作目录切换到解压后的V-REP文件夹。...运行V-REP的启动脚本: bash复制代码 ./vrep.sh这条命令执行V-REP提供的启动脚本,通常用于设置环境变量或执行其他启动前的准备工作。...运行V-REP启动脚本 bash复制代码 ./vrep.sh 这条命令运行V-REP提供的启动脚本vrep.sh。这个脚本通常用于设置环境变量、启动V-REP服务或执行其他必要的启动前操作。...如果在运行脚本或启动V-REP时遇到任何问题,检查错误消息并根据需要进行故障排除。可能需要安装缺失的依赖库、更新系统或修改脚本中的某些设置。

    10300

    记一次符合Google Coding Style的Bash脚本重构

    通过使用一致的格式和风格,团队成员可以更轻松地理解代码,并进行更快速的故障排除和修复。 代码质量:编码准则有助于提高代码的质量。...通过编写符合标准的代码,团队成员可以更容易地将代码重用在其他项目中,从而提高生产力和效率。 继续搜索: 对于一个使用bash为主要语言的项目,业界推荐的coding guideline?...使用全局变量:尽量避免使用全局变量,因为它们很难调试和维护。 使用命令替换:使用$()语法而不是反引号 来执行命令替换。 使用数组:使用数组来管理相关变量,而不是使用多个单独的变量。...使用“set -u”:使用“set -u”来检查未定义的变量,以避免在引用未定义的变量时产生错误。 这些规范有助于提高 Bash 代码的可读性、可维护性和可靠性。...新增代码确保合规 将代码的规范检查,加入到日常的流程里。

    47610

    第二章·Rsync 备份服务实战

    ---- Rsync基本概述 rsync是一款开源、快速、多功能、可实现全量及增量的本地或远程数据同步备份的优秀工具。rsync软件适用于Unix/linux/Windows等多种操作系统平台。...---- Rsync的特性 支持拷贝特殊文件,如连接文件、设备等。 可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能。...限速 #企业案例: 某DBA使用rsync拉取备份数据时,由于文件过大导致内部交换机带宽被沾满,导致用户的请求无法响应 [root@nfs01 ~]# export RSYNC_PASSWORD=zls.../usr/bin/bash #1.定义变量 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin Host=$(hostname.../usr/bin/bash #1.定义全局的变量 export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin #2.定义局部变量

    46630

    万字长文:编写 Dockerfiles 最佳实践

    此功能要求在运行dockerbuild命令的主机上安装git。 5.通过.dockerignore排除文件 要排除与构建无关的文件(不重构源仓库),请使用.dockerignore文件。...因此,如果镜像用于服务,例如Apache和Rails,则可以运行类似CMD[“apache2”,“ - DFOREGROUND”]的内容。实际上,建议将这种形式的指令用于任何基于服务的镜像。...COPY仅支持将本地文件复制到容器中,而ADD具有一些功能(如本地的tar提取和远程URL支持),这些功能并不是很明显。...因此,ADD的最佳用途是将本地tar文件自动提取到镜像中,如ADD rootfs.tar.xz /所示。...-help 最后,它还可以用来启动一个完全不同的工具,比如Bash: $ docker run –rm–it postgres bash VOLUME VOLUME指令用于挂载由docker容器创建的任何数据库存储区域

    2K20

    CentOS7的node.js安装

    tar.xz格式比tar.gz格式小了三分之一,linux中tar怎么解压tar.xz文件 使用xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 再用tar -xvf...xxx.tar解压) 添加node的环境变量,在最后一行加入PATH vi /etc/profile #最后一行加入PATH export PATH=$PATH:/home/www/node-v6.11.3...-linux-x64/bin 使/etc/profile里的配置立即生效 source /etc/profile 三、方式3:nvm安装 nvm用于管理node版本,可以很方便的切换node的版本 安装...nvm命令无法使用,缺少.bash_profile文件 MacBook-Pro:~ wuj$ nvm -bash: nvm: command not found 进入nvm目录,新建.bash_profile...nvm install v8.9.2 : 安装node的8.9.2的版本(删除用uninstall) nvm current :当前使用的node版本 nvm use v8.9.2 :将node改为8.9.2

    1.9K10

    你不知道的 Dockerfile 增强新语法

    要使用新特性,您需要在文件开头指定 #syntax 指令,以告诉 BuildKit 用于构建的前端镜像。...您可能不知道 Dockerfile 支持两种形式的类似 Bash 的变量扩展: ${variable:-word}:如果变量未设置,则将值设置为 word ${variable:+word}:如果变量已设置..." 如果您是各种 shell 专家,您就会知道 Bash 和其他工具通常具有许多附加形式的变量扩展,以简化脚本的开发。...以前,使用单个命令无法实现这种复制。您可能需要单个文件的多个副本,或者使用 RUN --mount 指令的一些解决方法。...**/important.md app /dest/ 当将 --exclude 与前面描述的 --parents 复制模式一起使用时,请注意排除模式是相对于复制的父目录。

    26220

    Shell常用的特殊字符

    root@localhost shell]# echo '$name' $name [root@localhost shell]# echo "$name" tom `` 反引号 相当于$()表示命令替换,将执行命令结果传给变量参数...,正则表达式表示行尾 ${} 变量的正则表达式 {parameter},等于parameter,即是变量参数的值,可用于变量和字符串连接起来 [root@localhost shell]# cat a1...abc *, @ 所有定位参数 *和 @要加引号,符号 * 将所有的引用变量视为一个整体。...但符号 @ 则仍旧保留每个引用变量的区段观念。  当*没有加双引号,效果和@效果是一样的。 [root@localhost shell]# cat argslist2.sh #!...打包和解包方式,复制目录下的内容到别的地方,等于cp -a /tmp/* /mnt (cd /tmp && tar cf - . ) | (cd /mnt && tar xpvf -) 破折号使用场景二

    8.1K20

    【权限提升】Linux系统&环境变量&定时任务&权限配置不当&MDUT自动化

    /shell id 解释 原ps命令查看当前进程 环境变量为/usr/bin/ps 环境变量加入104 执行ps相当于执行/104/ps 将/bin/bash复制为 /104/ps 相当于现在的...tar命令进行命令执行 与文件名进行拼接 从而间接执行test.sh文件 执行当前目录的bash程序 借助suid进行bash提权 由于定时任务是root用户下发的,所以执行中是root权限 实战应用...查看定时任务· 定时任务有没有可利用 (tar打包压缩等) 可能会出现的错误:您在 /var/spool/mail/root 中有新邮件 将backup.sh 权限设置为可执行就可以了...注:一般适用于本地用户提权 webshell权限可能看不了压缩后的目录文件 部分操作是需要管理员权限,因为是模拟管理员开启的定时任务。...,可能原因是靶机防火墙进行设置不允许其他外部主机连接数据库 思路: 手工提权(在webshell上面的数据库管理进行提权) 自己连自己 隧道出网(用外部或本机的工具项目提权 建立隧道) 1、无法外联走隧道

    13510

    Linux基础命令行使用技巧

    zsh示例可编程补全:接下来定义的函数与变量跟 bash 示例相似 words 相当于 bash 中的 COMP_WORDS CURRENT 与 bash 中的 COMP_CWORD 类似 COMPREPLY...在Linux中的Shell终端里我们也可以将前面的命令进行复用,下面我们将先从设置历史变量以及如何查看、搜索、以及前后移动历史说起; 设置历史记录 描述:无论是 bash 还是 zsh,都能够将我们已经执行过的命令存储到一个文件中...$:t #nginx-1.15.8.tar.gz 3.引用文件名,利用:r 修饰符来只引用文件名部分(这 将排除掉扩展名)。 ~$ unzip hello.zip ~$ cd !..." && pwd #3.访问常用目录 #bash 和 zsh 两个都为我们提供了 $CDPATH 变量,它由 : (冒号) 分隔的路径列表组成(类似于$PATH)。...cp file{,.bak} #参数 file{,.bak} 展开后将变成 file ->> file.bak tar cf docs{.tar,} #将 docs 目录存档为 docs.tar

    6K20

    docker容器dockerfile详解

    例如,纯文件/somedir/temporary.txt被排除在外,目录/somedir/temp. */*/temp* 排除temp从根目录下两级的任何子目录开始的文件和目录。...例如,/somedir/subdir/temporary.txt被排除在外。 temp? 排除根目录中名称为一个字符扩展名的文件和目录temp。例如,/tempa和/tempb被排除在外。 !...首先方式 或 ENV 通过ENV指定环境变量,将作用于在构建阶段的所有后续指令的环境中。...如果不存在,则在其路径中创建所有丢失的目录。 特别的,当是可识别的压缩包如gzip、bzip2等tar包时,首先会将包添加到镜像中,然后自动解压。...STOPSIGNAL signal14.HEALTHCHECK 在多阶段构建应该添加多个ARG ENV变量会覆盖ARG变量 与ENV变量相比,ARG变量多用于构建,无法驻留在镜像中。

    1.4K30
    领券