Linux中set命令使⽤总结Linux中set命令总结
set命令
功能:⽤来设置所使⽤shell的执⾏⽅式,可依照不同的需求来进⾏设置。
set语法
set [+ -abCdefhHklmnpPtuvx]
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命令使⽤
执⾏脚本时,与到不存在变量,bash报错并停⽌
! /bin/bash
set -u # 注释与不注释执⾏结果不同
#set -o nounset # 与set -u效果⼀样
echo $a
echo hellolinux循环执行命令脚本
运⾏结果之前,先输出执⾏的指令
#! /bin/bash
set -x # 执⾏指令前,先输出指令
#set -o xtrace # 与set -x效果⼀样
echo hello
运⾏命令失败后,停⽌执⾏后⾯指令
#! /bin/bash
set -e
#set -o errexit
#hehe || { echo "hehe not exits"; exit 1;} # 等效于set -e
#if ! hehe; then echo "hehe not exits"; exit 1; fi # 等效于set -e
#hehe
#if [ "$?" -ne 0 ]; then echo "hehe not exits"; exit 1; fi # 等效于set -e
hehe
echo hello
**注意:set -e不适合管道命令,管道命令需要使⽤如下命令实现:#! /bin/bash
set -eo pipefail
hehe | echo hello1
echo hello2
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论