精华内容
下载资源
问答
  • shell中set

    千次阅读 2017-10-30 18:38:45
    set命令作用主要是显示系统已经存在的shell变量,以及设置shell变量的新变量值。 root@ubuntu:/work#set BASH=/bin/bash BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extquote:force_...

    set命令作用主要是显示系统中已经存在的shell变量,以及设置shell变量的新变量值。

    root@ubuntu:/work#set
    BASH=/bin/bash
    BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extquote:force_fignore:histappend:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
    BASH_ALIASES=()
    BASH_ARGC=()
    BASH_ARGV=()
    BASH_CMDS=()
    BASH_LINENO=()
    BASH_SOURCE=()
    BASH_VERSINFO=([0]="4" [1]="3" [2]="48" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
    BASH_VERSION='4.3.48(1)-release'
    …………

    在shell脚本中,使用set可以改变$n的值。

    root@ubuntu:/work#touch win9
    root@ubuntu:/work#vi win9
    
    #/bin/sh
    set ok okk
    echo $1 $2
    
    root@ubuntu:/work#chmod +x win9
    root@ubuntu:/work#./win9
    ok okk
    展开全文
  • shell中 set 指令的用法

    万次阅读 2018-09-14 09:29:54
    set 指令可根据不同的需求来设置当前所使用 shell 的执行方式,同时也可以用来设置或显示 shell 变量的值。...而不带任何参数的 set 指令将显示当前 shell 的全部变量,且总是返回 true,除非遇到非法的选项。

    更多精彩内容请访问我的新博客站点

    语法

    set [-可选参数] [-o 选项]
    

    功能说明

    set 指令可根据不同的需求来设置当前所使用 shell 的执行方式,同时也可以用来设置或显示 shell 变量的值。当指定某个单一的选项时将设置 shell 的常用特性,如果在选项后使用 -o 参数将打开特殊特性,若是 +o 将关闭相应的特殊特性。而不带任何参数的 set 指令将显示当前 shell 中的全部变量,且总是返回 true,除非遇到非法的选项。


    参数说明

    可选参数及其说明如下:

    参数说明
    -a标示已修改的变量,以供输出至环境变量
    -b使被中止的后台程序立刻回报执行状态
    -dShell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消
    -e若指令传回值不等于0,则立即退出shell
    -f取消使用通配符
    -h自动记录函数的所在位置
    -k指令所给的参数都会被视为此指令的环境变量
    -l记录for循环的变量名称
    -m使用监视模式
    -n测试模式,只读取指令,而不实际执行
    -p启动优先顺序模式
    -P启动-P参数后,执行指令时,会以实际的文件或目录来取代符号连接
    -t执行完随后的指令,即退出shell
    -u当执行时使用到未定义过的变量,则显示错误信息
    -v显示shell所读取的输入值
    -H shell可利用"!"加<指令编号>的方式来执行 history 中记录的指令
    -x执行指令后,会先显示该指令及所下的参数
    +<参数>取消某个set曾启动的参数。与-<参数>相反
    -o option特殊属性有很多,大部分与上面的可选参数功能相同,这里就不列了

    重点参数

    最常用的两个参数就是 -e-x ,一般写在 shell 代码逻辑之前,这两个组合在一起用,可以在 debug 的时候替你节省许多时间 。

    • set -x 会在执行每一行 shell 脚本时,把执行的内容输出来。它可以让你看到当前执行的情况,里面涉及的变量也会被替换成实际的值。

    • set -e 会在执行出错时结束程序,就像其他语言中的“抛出异常”一样。(准确说,不是所有出错的时候都会结束程序,见下面的注)

      注:set -e结束程序的条件比较复杂,在man bash里面,足足用了一段话描述各种情景。大多数执行都会在出错时退出,除非 shell 命令位于以下情况:

      1. 一个 pipeline 的非结尾部分,比如error | ok
      2. 一个组合语句的非结尾部分,比如ok && error || other
      3. 一连串语句的非结尾部分,比如error; ok
      4. 位于判断语句内,包括test、if、while等等。

    其他用法

    • set:初始化位置参数

      调用 set 是接一个或多个参数时,set 会把参数的值赋予位置参数,从 $1 开始赋值。如下例子:

      $ cat set-it.sh
      #!/bin/bash
      set first second third
      echo $3 $2 $1
      
      $ ./set-it.sh
      third second first
      

      如上,在执行 set-it.sh 脚本时并没有输入参数,但是使用 set 指令后会对位置参数进行赋值。

    • set:显示 shell 变量

      如果不带任何参数的使用 set 命令,set 指令就会显示一列已设置的 shell 变量,包括用户定义的变量和关键字变量。

      $ set 
      BASH_VERSION='4.2.24(1)-release'
      COLORS=/etc/DIR_COLORS
      MAIL=/var/spool/mail/username
      ...
      

    展开全文
  • 而不带任何参数的 set 指令将显示当前 shell 的全部变量,且总是返回 true,除非遇到非法的选项。 参数说明 可选参数及其说明如下: 参数 说明 -a 标示已修改的变量,以供输出至环境变量 -b 使被中止的...
  • Shell set -e 和 set -x

    千次阅读 2019-05-08 13:43:00
    set -x会在执行每一行 shell 脚本时,把执行的内容输出来。它可以让你看到当前执行的情况,里面涉及的变量也会被替换成实际的值。 set -e会在执行出错时结束程序,就像其他语言的“抛出异常”一样。(准确说,不是...

    set -e 和 set -x

    在你开始构思并写下具体的代码逻辑之前,先插入一行set -e和一行set -x。

    set -x会在执行每一行 shell 脚本时,把执行的内容输出来。它可以让你看到当前执行的情况,里面涉及的变量也会被替换成实际的值。

    set -e会在执行出错时结束程序,就像其他语言中的“抛出异常”一样。(准确说,不是所有出错的时候都会结束程序,见下面的注)

    注:set -e结束程序的条件比较复杂,在man bash里面,足足用了一段话描述各种情景。大多数执行都会在出错时退出,除非 shell 命令位于以下情况:

    一个 pipeline 的非结尾部分,比如 error | ok

    一个组合语句的非结尾部分,比如 ok && error || other

    一连串语句的非结尾部分,比如 error; ok

    位于判断语句内,包括 test、if、 while 等等。

    这两个组合在一起用,可以在 debug 的时候替你节省许多时间。出于防御性编程的考虑,有必要在写第一行具体的代码之前就插入它们。

    展开全文
  • shell中set 指令的使用

    千次阅读 2016-11-30 10:25:58
    set -xset -x 是开启, set +x是关闭, set -o是查看 (xtrace), set去追一段代码的显示情况。执行set -x后,对整个脚本有效。set指令查询set指令能设置所使用shell的执行方式,可依照不同的需求来做设置  -a 标示已...

    set -x

    set -x 是开启, set +x是关闭, set -o是查看 (xtrace), set去追中一段代码的显示情况。执行set -x后,对整个脚本有效。

    set指令查询

    set指令能设置所使用shell的执行方式,可依照不同的需求来做设置
     -a  标示已修改的变量,以供输出至环境变量。 
     -b  使被中止的后台程序立刻回报执行状态。 
     -C  转向所产生的文件无法覆盖已存在的文件。 
     -d  Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消。 
     -e  若指令传回值不等于0,则立即退出shell。   
     -f   取消使用通配符。 
     -h  自动记录函数的所在位置。 
     -H Shell  可利用"!"加<指令编号>的方式来执行history中记录的指令。 
     -k  指令所给的参数都会被视为此指令的环境变量。 
     -l  记录for循环的变量名称。 
     -m  使用监视模式。 
     -n  只读取指令,而不实际执行。 
     -p  启动优先顺序模式。 
     -P  启动-P参数后,执行指令时,会以实际的文件或目录来取代符号连接。 
     -t  执行完随后的指令,即退出shell。 
     -u  当执行时使用到未定义过的变量,则显示错误信息。 
     -v  显示shell所读取的输入值。 
     -x  执行指令后,会先显示该指令及所下的参数。 
     +<参数>  取消某个set曾启动的参数。
    
    
    展开全文
  • shell 脚本中set-x 与set+x的区别

    万次阅读 2019-01-13 15:38:20
    set -x与set +x指令用于脚本调试 set是把它下面的命令打印到屏幕 set -x 开启 set +x关闭 set -o 查看
  • shell脚本 set -ex

    千次阅读 2020-12-29 14:05:32
    刚刚学会了一个很实用的shell命令set -ex,在这里分享一下。 set -e 先说说set -e,这个参数的含义是,当命令发生错误的时候,停止脚本的执行。 通常来说,我们会习惯于使用&&来实现这样的功能,比如: echo...
  • linux下shell中set命令

    千次阅读 2016-02-21 20:45:46
    set命令可以设置各种shell选项或者列出shell变量.单个选项设置常用的特性.在某些选项之后-o参数将特殊特性打开.在某些选项之后使用+o参数将关闭某些特性,不带任何参数的set命令将显示shell的全部变量.除非遇到非法...
  • shell中set -x

    千次阅读 2019-05-22 23:47:14
    调试shell脚本时使用的命令,可以跟踪脚本的执行。 设置-x选项后,之后执行的每一条命令,都会显示的打印出来; 在命令之前输出一个+号,并打印出替换变量后的命令内容; 可以分析脚本但前正在执行什么命令。 ...
  • shell set -x 和 set +x 语句的作用

    千次阅读 2021-03-02 17:43:12
    set -x 是开启 set +x是关闭 set -o是查看 (xtrace),set去追一段代码的显示情况。 执行set -x后,对整个脚本有效。 [root@mybox bin]# ls -l /bin/bash + ls --color=tty -l /bin/bash -rwxr-xr-x 1 root ...
  • Shell set常用参数

    千次阅读 2019-07-19 11:24:23
    set常用参数 参数 说明 -a 将声明的变量提升为环境变。 set -a XPATH=xxxx set +a -e 如果后面的代码出现执行情况为0,则退出shell脚本。常写在shell脚本第二行。 与-o ...
  • shell typeset 的用法

    千次阅读 2013-07-09 14:08:19
    typeset用于设置变量属性,如大小写,宽度,左右对齐等都可以用typeset来控制, 当用typeset改变一个变量的属性时,这种改变是永久的,下面以ksh为例,演示typeset的几种典型用法 2:typeset的-u选项可以将一个变量的字符...
  • Shell set --用法

    千次阅读 2017-11-28 21:38:00
    set 命令为 shell 设定参数变量。许多命令的输出是以空格分隔的值,如果要使用其中的某个数据域,使用 set 非常有效。 #!/bin/sh echo the date is $(date) set $(date) echo the month is $2 输出: the date is ...
  • shell set -e , set +e 用法

    万次阅读 2016-12-15 22:11:28
    参考资料: http://blog.csdn.net/xiaofei125145/article/details/39345331Shell -eset -e # Exit the script if an error happens#!...set -e #"Exit immediately if a simple command exits with a non-zero sta
  • shell set -e 导致的退出问题

    千次阅读 2020-09-25 15:20:34
    上面代码,script.sh是在一个新的 Shell 里面执行。这个 Shell 就是脚本的执行环境,Bash 默认给定了这个环境的各种参数。set命令用来修改 Shell 环境的运行参数,也就是可以定制环境。一共有十几个参数可以定制,...
  • shell中set -- "$x"和set -- $x的使用

    千次阅读 2016-10-12 18:02:26
    先看下set --的英文使用说明 set -- Set $1 to the value of x, even if it begins with '-' or '+' : set -- "$x" Set the positional parameters to the expansion of x, even if x expands with a ...
  • shell set命令 -e -o 选项作用

    千次阅读 2019-03-14 21:57:26
    工作经常在shell脚本看到set的这两个用法,但就像生活的很多事情,习惯导致忽视,直到出现问题才引起关注。 1. set -e set命令的-e参数,linux自带的说明如下:"Exit immediatelyif a simple command ...
  • shell脚本调试打开set选项

    万次阅读 2014-07-18 16:57:16
    不可以避免的会遇到问题,这个时候,假如我们可以跟踪到脚本到底是哪里问了问题,是哪个变量出了问题,这样就对我们的调试是很有帮助的,这里介绍一个shell里面的跟踪选项这里介绍的是set命令,假设在脚本里面加入...
  • shellset 命令

    千次阅读 2019-10-25 17:00:24
    上面代码,script.sh是在一个新的 Shell 里面执行。这个 Shell 就是脚本的执行环境,Bash 默认给定了这个环境的各种参数。 set命令用来修改 Shell 环境的运行参数,也就是可以定制环境。一共有十几个参数可以定制...
  • shellset用法

    千次阅读 2017-01-18 11:19:12
    Linux set命令用于设置shellset指令能设置所使用shell的执行方式,可依照不同的需求来做设置。 语法 set [+-abCdefhHklmnpPtuvx] 参数说明: -a 标示已修改的变量,以供输出至环境变量。 -b 使被...
  • shell set 命令详解

    千次阅读 2015-03-13 16:53:16
    set命令可以设置各种shell选项或者列出shell变量.单个选项设置常用的特性.在某些选项之后-o参数将特殊特性打开.在某些选项之后使用+o参数将关闭某些特性,不带任何参数的set命令将显示shell的全部变量.除非遇到非法...
  • shell 脚本中set -e选项作用范围

    万次阅读 2017-08-02 21:07:40
    编写shell脚本没多久,对于其许多命令的具体用法还不太熟悉。最近刚好有需求,就尝试用脚本去实现。其中就有用到set -e选项。  在用这个命令之前,也查过其功能,描述比较简单:就是当命令以非零状态退出时,则退出...
  • shell set +e、set -e的用法

    千次阅读 2019-06-11 16:35:03
    set +e:当这句之后遇到非零的返回值,会继续执行 set -e:这句之后遇到非零返回值,会直接退出
  • set -e set命令的-e参数,linux自带的说明如下: "Exit immediately if a simple command exits with a non-zero status." 也就是说,在"set -e"之后出现的代码,一旦出现了返回值非零,整个脚本就会...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 586,853
精华内容 234,741
关键字:

setshell中