IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> linux set命令详解 -> 正文阅读

[系统运维]linux set命令详解

命令格式

set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]

set命令的主要作用是设置SHELL的属性, 第一组与第二组都是set的选项,+号表示关闭选项,-号表示打开选项,最后一组arg是位置参数。 分别会把arg 赋值给$1,$2...

optionoption-name说明
--signifies the end of an option list. This option is primarily useful when values listed after the options start with a dash themselves.大概意思是,不让后面的带-的arg理解为set的参数。
-aallexport标示已修改的变量,以供输出至环境变量。
-bnotify使被中止后台程序立刻 报告 执行状态。
-Bbraceexpand启用brace expansion。默认启用。
-Cnoclobber重定向所产生的文件无法覆盖已存在的文件。‘>’, ‘>&’, ‘<>’
-dShell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消。
-eerrexit若指令传回值不等于0,则立即退出shell。
-fnoglob取消使用通配符。
-hhashall自动记录函数的所在位置。
-HShell:可利用"!"加的方式来执行history中记录的指令。
-kkeyword指令所给的参数都会被视为此指令的环境变量。
-l记录for循环的变量名称。
-mmonitor启用Job control,使用监视模式。
-nnoexec只读取指令,而不实际执行。通常用于检查脚本语法。
-pprivileged启用 privileged 模式,$BASH_ENV$ENV文件不会被执行,SHELLOPTS, BASHOPTS, CDPATH and GLOBIGNORE 变量被忽略
-Pphysical启动-P参数后,执行指令时,会以实际的文件或目录来取代符号连接。
-t执行完随后的指令,即退出shell。
-unounset当执行时使用到未定义过的变量,则显示错误信息。
-vverbose显示shell所读取的输入值。
-xxtrace执行指令后,会先显示该指令及所下的参数。

示例代码


#!/bin/sh
set -e

# first arg is `-f` or `--some-option`
# or first arg is `something.conf`
if [ "${1#-}" != "$1" ] || [ "${1%.conf}" != "$1" ]; then
        set -- redis-server "$@"
fi

# allow the container to be started with `--user`
if [ "$1" = 'redis-server' -a "$(id -u)" = '0' ]; then
        find . \! -user redis -exec chown redis '{}' +
        exec su-exec redis "$0" "$@"
fi

exec "$@"

参考

https://www.computerhope.com/unix/uset.htm

https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-04 07:32:52  更:2022-05-04 07:32:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:28:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码