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

将bash跟踪(设置-x)传播到所有子脚本

将bash跟踪(设置-x)传播到所有子脚本是通过在主脚本中设置跟踪标志来实现的。当设置了跟踪标志后,该标志会自动传递给所有子脚本,从而在执行子脚本时也会显示出每个命令的执行过程。

在bash中,可以通过使用set -x命令来启用跟踪标志,或者通过在脚本的开头添加#!/bin/bash -x来设置整个脚本为跟踪模式。

设置跟踪标志的主要目的是用于调试和定位脚本中的问题。通过显示每个命令的执行过程,可以更容易地发现错误、查看变量的值以及理解脚本的执行流程。

应用场景:

  • 脚本开发和调试:在开发和调试脚本时,启用跟踪模式可以方便地观察每个命令的执行情况,从而更快地定位问题并进行修复。
  • 自动化任务:当使用脚本执行自动化任务时,通过跟踪模式可以了解脚本执行过程中的细节,确保任务按预期顺利进行。
  • 教学和学习:对于学习bash脚本编程的人来说,通过启用跟踪模式可以更好地理解脚本的执行过程和掌握关键概念。

腾讯云相关产品推荐:

  • 云服务器(CVM):提供基于云计算的虚拟服务器,可用于搭建和运行脚本、应用程序等。 产品链接:https://cloud.tencent.com/product/cvm
  • 云函数(SCF):提供事件驱动的无服务器计算服务,可用于运行脚本、处理事件等。 产品链接:https://cloud.tencent.com/product/scf
  • 云开发(Tencent CloudBase):提供云端一体化开发平台,可用于开发和部署脚本、网站等。 产品链接:https://cloud.tencent.com/product/tcb

注意:以上产品链接仅为腾讯云产品示例,没有提及其他厂商和品牌。

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

相关·内容

Shell 简明教程

2. bash 启动 bash 启动脚本bash 启动时会自动执行的脚本,因此用户可以把一些环境变量的设置和 alias、umask 设置等放到启动脚本中,这样每次启动 shell 时都会自动生效。...如果终端或远程登录,那么登录 Shell 是该用户的所有其他进程的父进程,所以环境变量在登录 Shell 的启动脚本设置一次就可以自动带到其他非登录 Shell 里,而本地变量、函数、 alias 等设置没有办法带到...Shell里,需要每次启动非登录Shell时设置一遍,所以就需要有非登录Shell的启动脚本,所以一般来说在 ~/.bash_profile 里设置环境变量,在 ~/.bashrc 里设置本地变量、函数...非交互式启动 为了执行脚本而 fork 出来的 Shell 是非交互式 Shell,启动时执行的脚本文件有环境变量 BASH_ENV 定义,相当于执行下面的命令: if [ -n "$BASH_ENV...-x — 提供跟踪执行信息,执行的每一条命令和结果依次打印出来 有三种方法使用这些选项: 1.

2.1K40

vid2vid 视频到视频转换vid2vid

使用8个GPU进行培训: 我们采用从粗到精的方法,分辨率从512 x 256,1024 x 512到2048 x 1024逐步增加。 以512 x 256分辨率训练模型(bash ....使用这些脚本无法保证性能。 例如,使用单个GPU训练256 x 128视频(bash ./scripts/train_256_g1.sh) #!....预处理的默认设置是scaleWidth,opt.loadSize在保持纵横比的同时,所有训练图像的宽度缩放到(1024)。如果您需要其他设置,请使用该--resize_or_crop选项进行更改。...我们发生器和鉴别器分成不同的GPU,因为在处理高分辨率时,即使一帧也不适合GPU。如果数字设置为-1,则没有分离,并且所有GPU都用于生成器和鉴别器(仅适用于低分辨率图像)。...较粗略的比例在帧n_frames_D馈送到鉴别器之前抽样一个因子。例如,如果n_frames_D = 3和n_scales_temporal = 3,则鉴别器有效地看到27帧。默认值为3。

2.9K10
  • shell变量详解

    给你使用 同时在内存跟踪表中记录 该地址被占用不在分给别人,同时在系统中建立映射机制 比如:变量名 STRING1=‘ABC’ name0x5 d、释放内存 从内存跟踪表中将记录删除...在这个shell中,可以使用shell命令或声明变量,也可以 创建并运行 shell脚本程序。 运行脚本时: 2) 运行shell脚本程序时,系统创建一个shell。...父shell与shell 3.4、全局变量 使用export命令本地变量输出为当前shell中的环境变量 所有用户及shell都可以使用,可以在/etc/profile /etc/bashrc下永久定义...调用最后一条命令历史 $#:脚本后面接的参数的个数 $*:脚本后面所有参数,参数当成一个整体输出,每一个变量参数之间以空格隔开 $@: 脚本后面所有参数,参数是独立的,也是全部输出 $0:当前执行的进程...变量类型 作用域 生命周期 本地变量 当前shell环境(shell不能用) 脚本结束或终端结束 环境变量 当前shell或者shell 当前进程结束 全局变量 所有用户及shell环境 关机 内置变量

    57920

    Linux学习笔记(四)

    bash shell中,环境变量分为两类: 全局变量:对于shell会话和所有生成的shell都是可见的。可用来进行父子shell程序通信。 局部变量:只对创建它们的shell可见。...1.个人环境变量设置放在/etc/profile.d目录中,创建一个.sh结尾的文件,所有新的或者修改过的全局环境变量设置放在这个文件中。 2.放在~/.bashrc文件中。...BASH_COMMAND shell正在执行的命令或马上就执行的命令 BASH_ENV 设置了的话,每个bash脚本会在运行前先尝试运行该变量定义的启动文件 BASH_EXECUTION_STRING...则’set -x’ 调试选项生成的跟踪输出可被重定向。...通常用来跟踪输出到一个文件中 BASHOPTS 当前启用的bash shell选项的列表 BASHPID 当前bash进程的PID COLUMNS 当前bash shell实例所用终端的宽度 COMP_CWORD

    1.1K10

    BashShell变量

    启动 Bash Shell 有三种方式: 登录时作为登录 Shell 作为非登录 Shell 的交互式 Shell 作为运行脚本的非交互式 Shell 而要让环境变量持久化便是环境变量写入启动文件,这样每当启动...-x 调试选项生成的跟踪输出可被重定向。...通常用来跟踪输出到一个文件中 BASHOPTS 当前启用的 Bash Shell 选项的列表 BASHPID 当前 Bash 进程的 PID COLUMNS 当前 Bash Shell 实例所用终端的宽度...特殊环境变量 特殊变量 说明 $0 ~ $9 位置参数,$0 是命令名,$1 ~ $9 是命令参数 $# 记录脚本运行时携带的命令参数个数 $* 用双引号括起后,所有命令参数当作单个单词保存,即看作一个整体...$@ 用双引号括起后,所有命令参数当作字符串中的多个独立单词保存,即看作多个个体 $?

    2.4K30

    shell(二)

    脚本文件中所有的标点符号均为英文状态下。 2.2函数参 实现函数参和函数体内调用参数,脚本文件示例: #!...$ bash func2.sh my name is ethanyan 2.3脚本参 实现脚本参,函数调用。...大型脚本的安全功能完善:由内到外,功能安全-流程安全。 掌握 脚本调试方法 语法-n ,追踪-x。 5.2.1简单脚本编写 手工执行的命令一定要可执行。 命令简单罗列。 固定的内容变量化。...5.2.2复杂脚本编写 手工执行的命令一定要可执行。 根据发布流程编写脚本的框架。 手工执行的命令填充到对应的框架函数内部。 增加日志功能,方便跟踪脚本历史执行记录。 主函数中逻辑流程控制好。...脚本参和函数的参要区别对待。 ?

    96720

    Linux基础(五)

    ,发现他任然在找/root/bash(之前设置了PATH路径),原因是?...,命令错误,继续执行 脚本执行,语法错误,终止执行 bash -n 语法检查,但不检查命令错误 bash -x 查看执行过程,跟踪调试 pstree :查看进程树 pstree -p $$:可以查看当前进程...则是进程放到父进程进行执行,影响当前环境,常用于读取配置文件 5、bash中变量分类、 本地变量(普通变量):生效范围为当前shell,对当前shell之外的其他shell进程,包括当前shell.......") $@ :传递给脚本所有参数,每个参数为独立字符串 ( "string1" "string2" "string3" ... ) $# :传递给脚本的参数的个数 $@ $* :只有在被双引号引起来的时候才会有差异...; x=def ;echo $x );echo $x 【()开了进程,sleep在进程下再开进程执行】 结果:abc def abc { cmd1,cmd2,cmd3.... } 不开shell。

    1.2K80

    02·Shell编程-变量

    1.变量名只能是 字母、数字或下划线的任意组合(区分大小写) 例如: x=1 X=2 是两个变量 2.变量名的第一个字符不能是数字 例如: 1x=1 123_x=1 3.尽量不要使用命令设置变量 例如...$n 脚本的第N个参数 命令参,传递给脚本,在脚本中使用 $# 统计脚本参数的个数 判断脚本是否参 $* 获取脚本所有的参数 所有参数当成是一个整体,对传递的参数进行判断 $@ 获取脚本所有的参数...上一条命令的返回值 判断命令的执行是否成功 $$ 当前脚本运行的pid 在脚本运行时pid记录到文件中,方便kill $!...,例:IP=ifconfig eth0|awk 'NR==2{print $2}' 交互赋值,我们需要跟脚本进行交互,例:read 参赋值,执行脚本的时候,需要传递的变量值,写在脚本的后面...1 2 交互式赋值变量 read -p 'string' var -s:不显示输入内容 -t:设置超时时间 -a:传递的变量使用数组接收 Shell 数据类型 1)字符串 2)整型 3)数组

    1.1K20

    详解shell脚本的环境、普通、特殊变量

    #提示1:定义的变量均为大写,环境变量应用于用户进程前,使用export命令导出 #提示2:变量赋值两边应没有空格 #示例:export DIR=/data/ #设置环境变量 #在用户家目录或全局配置中进行设置...变量名 value #示例 [root@game ~]# export DIRR=guoke [root@game ~]# declare -x DIRR=guoke #自定义全局变量示例 [root...,如果脚本包含路径,则打印脚本路径 $n 获取第n个执行脚本参入的值,当n大于9,使用{}阔起来 $# 获取脚本参数得总个数 $* 获取脚本所有参的参数 $@ 获取脚本所有参的参数 $?.../bin/bash echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10} ${11} #企业场景定义的参方式 [root@game test]# cat test6.sh #执行脚本需要接...*:获取当前脚本所有参的参数,不加引号和@相同 #简单示例 #通过set设置3个参数进行打印 [root@game ~]# set wo me guoke [root@game ~]# echo $@

    1.8K20

    Shell脚本常用命令一览

    -i: 实现脚本交互。 -n: 进行shell脚本的语法检查。 -x: 实现shell脚本逐条语句的跟踪。...-s: 用于从标准输入中读取命令,接收命令参数在shell中执行; 使用案例: #示例1.使用-x选项跟踪脚本调试shell脚本,能打印出所执行的每一行命令以及当前状态: sh -x check_ssh_login.sh...,先将脚本内容输出到屏幕上然后执行脚本,如有错误则输出; (常用) -x:执行脚本并输出执行过程调试利器; (常用) -i:若用-i参数,则bash是交互的 -s:若用-s参数,则bash从标准输入中读入命令...脚本自身已经包含了调式选项,能都打印出脚本接受的参数和输入 bash -x database.sh  #-x 选项是打印所有行的信息 sh -x script.sh #使用-x选项跟踪脚本调试shell...#每个shell脚本有效地运行`在父shell(parent shell)的一个进程里`,这个父shell是指在一个控制终端或在一个`xterm窗口`中给你命令指示符的进程。

    1.9K41

    Shell脚本常用命令一览

    -i: 实现脚本交互。 -n: 进行shell脚本的语法检查。 -x: 实现shell脚本逐条语句的跟踪。...-s: 用于从标准输入中读取命令,接收命令参数在shell中执行; 使用案例: #示例1.使用-x选项跟踪脚本调试shell脚本,能打印出所执行的每一行命令以及当前状态: sh -x check_ssh_login.sh...,先将脚本内容输出到屏幕上然后执行脚本,如有错误则输出; (常用) -x:执行脚本并输出执行过程调试利器; (常用) -i:若用-i参数,则bash是交互的 -s:若用-s参数,则bash从标准输入中读入命令...set命令中也能实现调试 bash -n database.sh    #示例2.执行脚本,输出执行过程,shell脚本自身已经包含了调式选项,能都打印出脚本接受的参数和输入 bash -x database.sh...  #-x 选项是打印所有行的信息 sh -x script.sh #使用-x选项跟踪脚本调试shell脚本,能打印出所执行的每一行命令以及当前状态: # test.sh: line 8: ((: 1

    1.2K10

    使用bash编写Linux shell脚本--调试和版本控制

    外壳调试的特点 Bash 有几个开关和选项对于跟踪调试脚本是非常有用的。“ -n ”开关可以使你不用运行脚本就可以检查脚本语法的正确性。通常在开发期间使用这个开关来检查脚本的语法。...在最简单的脚本中有了这个选项,就不用使用错误处理了。例如一个错误发生在外壳中,他不会中断脚本。 如果一个变量没有定义,选项“ -o nounset ”会中止脚本并报告一个错误。...=0 while [ $CNT -lt 3 ] ; do CNT=CNT+1 done 当进行跟踪时, CNT 的值在每一行后面显示: $ bash -x debug_demo.sh + trap ‘:...例如: /home/repository 作为你的团队的项目库,你可以在 Bash 中这样设置 CVSROOT 。...这个技术并不能保证标准输入的东西也保存在文件中,为了脚本运行的所有记录都保存在文件中, linux 可以使用 script 命令。

    3K111

    靶场攻略 | vulhub_DC6

    ,通过vm或者virtualbox打开即可,注意由于作者设置为桥接模式,为了试验方便此处可以改为NAT模式。...主机发送信息时包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP...(3) 端口探测 利用nmap工具进行端口探测,相信大家对于nmap已经相当熟悉了,下面列举了一些nmap常见参数: -A:一次扫描包含系统探测、版本探测、脚本扫描和跟踪扫描 ......作者太懒了0.0...打开文件backups.sh为一个文件减压的命令行,可将减压指令删除,换成/bin/bash 以jens用户去执行操作。...故可通过nmap指令调用自己设定好的脚本如执行/bin/bash,新建一个nmap可执行的脚本 root.nse,输入如下内容: 通过nmap运行该root.nse脚本,进入root用户。

    50320

    linux的shell编程入门

    f、脚本中的引号都是英文状态下的引号,其他字符也是英文状态。 1.3 shell脚本的执行 1.3.1 执行脚本的办法 sh/bash scripts.sh chown +x ....Shell及其派生出来的任意进程shell中使用,环境变量又可分为自定义环境变量和Bash内置的环境变量 普通变量也可称为局部变量,只能在创建他们的Shell函数或Shell脚本中使用。...ü 变量可以在自身的Shell及Shell中使用。 ü 常用export来定义环境变量。 ü 执行env默认可以显示所有的环境变量名称及对应的值。...$# 获取当前执行的shell脚本后面接的参数的总个数 $* 获取当前shell的所有参的参数,不加引号同$@;如果给$*加上双引号,例如: “$*”,则表示所有的参数视为单个字符串,相当于“1...$@ 获取当前shell的所有参的参数,不加引号同$*;如果给$@加上双引号,例如: “$@”,则表示所有参数视为不同的独立字符串,相当于“$1” “$2” “$3” “……”,这是参数传递给其他程序的最佳方式

    8.1K30

    Shell编程基础篇-上

    f、脚本中的引号都是英文状态下的引号,其他字符也是英文状态。 1.3 shell脚本的执行 1.3.1 执行脚本的办法 sh/bash scripts.sh chown +x ....Shell及其派生出来的任意进程shell中使用,环境变量又可分为自定义环境变量和Bash内置的环境变量 普通变量也可称为局部变量,只能在创建他们的Shell函数或Shell脚本中使用。...ü 变量可以在自身的Shell及Shell中使用。 ü 常用export来定义环境变量。 ü 执行env默认可以显示所有的环境变量名称及对应的值。...$# 获取当前执行的shell脚本后面接的参数的总个数 $* 获取当前shell的所有参的参数,不加引号同$@;如果给$*加上双引号,例如: “$*”,则表示所有的参数视为单个字符串,相当于“$1$2...$@ 获取当前shell的所有参的参数,不加引号同$*;如果给$@加上双引号,例如: “$@”,则表示所有参数视为不同的独立字符串,相当于“$1” “$2” “$3” “……”,这是参数传递给其他程序的最佳方式

    2K00

    linux命令行与shell脚本编程大全和鸟哥的私房菜_linux进入命令行

    shell不能改变父shell中的全局变量,即使使用export命令。 局部变量 查看局部变量: set命令会显示为某个特定进程设置所有环境变量,包括局部、全局和用户定义变量。...设置用户变量: my_variable=”Hello world”,该变量在shell中无效。...把所有新的或者修改过的全局变量设置放在这个文件夹中。...+表示在现有权限基础上增加权限,-表示在现有权限上移除权限,=表示权限设置成后面的值 X如果对象是目录或者它已有执行权限,赋予执行权限; s运行时重新设置UID或GID; t保留文件或目录; u权限设置为属主一样...; g权限设置为跟属组一样; o权限设置为跟其他用户一样。

    2.4K30

    解决问题,别扩展问题

    -f2` echo $acc_time } SAVEIFS=$IFS # 保存系统原来的分隔符(空格) IFS=$'\n' # 分隔符设置为换行,这样才能将文件按行分隔为数组 start_lines...=(`cat $start_file`) end_lines=(`cat $end_file`) total=`cat $end_file | wc -l` i=0 IFS=$SAVEIFS # 分隔符还设置回空格...仔细检视代码发现我使用很多 ` 创建进程,于是使用 stace 的 -f 选项跟踪进程,看到输出如下: ? ?...由于脚本是完全同步运行的,所以进程耗时很长,主进程的 read 也只能等待,导致整个脚本的耗时增加。 为了验证我的猜测,我把脚本简写后,使用 time 命令统计了耗时分布。 #!...我使用 strace 跟踪了这个脚本,发现有大量的此类系统调用: ? ? 总算破案了。 小结 ---- 在这个问题的解决上,我的做法有很多不对的地方。

    89610

    Shell base用法描述

    /bin/bash。 #! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。 1. base shell 基础知识 1.1....环境变量:::所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。...$name 获取字符串长度 name="imjianjian" echo ${#name} 查找字符串 str="oh!...参 使用方法 我们在使用脚本文件的时候可以向文件中传递一些参数,脚本则可以使用n这种方式来获取参数,n这种方式来获取参数,0代表文件名,1代表的是第一个参数,1代表的是第一个参数,2代表第二个参数,以此类推...:test1.sh 第一个参数为:1 第二个参数为:2 其他字符 参数处理 说明 $# 参数个数 $* 输出所有的参数 $$ 当前脚本进程ID $!

    32120

    写好Shell脚本那些不得不知道的细节

    如: "$#" 记录传递给shell的自变量个数 "$*" 传递给脚本或函数的所有参数 $* 和 $@ 都表示传递给函数或脚本所有参数,不被双引号(" ")包含时,都以"$1" "$2" … "$n"...txt ,并将 $file 赋值为txt,空值及非空值不作处理 ${file:=txt} 若 $file 没设定或空值,则回 txt , $file 赋值为txt,非空值时不作处理...脚本中的路径 在脚本里,切忌使用 ./等形式的相对变量,使用之后脚本的移植性变得极差,另外如果脚本放在crontab内运行,相对路径基本无法识别。...执行时需要使用 chmod+x file 加上执行权限,否则会提示无执行权限,注意执行脚本时候或者全目录,或者 ....注:运行一个 shell 脚本时会启动另一个命令解释器。 sourceFileName 作用:在当前 bash 环境下读取并执行 FileName 中的命令。

    1.9K10
    领券