【Linux】set命令使用

2024-01-03 10:44:48
set命令

设置所使用shell的执行方式,可依照不同的需求来做设置。

语法
set  [参数]

选项及作用

执行令 :?man set

执行命令结果

参数

  • -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曾启动的参数。

常用命令示例

命令:set

查看环境变量。

命令:set -e

 若指令传回值不等于0,则立即退出shell。set +e表示关闭-e选项。

脚本test5.sh,中set -e被注释了。

#!/usr/bin/env bash
# set -e

mytest

echo "chengxuyuanshitang test set"

执行结果:

脚本test5.sh,中set -e打开了。

执行结果:

注释掉set-e的脚本是没有输出:chengxuyuanshitang test set

命令:set -a?

 标示已修改的变量,以供输出至环境变量。

定义变量:
declare  shitangTest="chengxuyuanshitang test"

用set命令将新定义的变量输出为环境变量:

set -a shitangTest

使用env命令和grep命令分别显示和搜索环境变量shitangTest:

env |grep shitangTest




文章来源:https://blog.csdn.net/wochunyang/article/details/135355138
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。