Linux Shell 实用命令及使用场景

Linux Shell 实用命令/系统文件及使用场景

COMMAND

  • set在shell中的常用组合:

  • -x: 用于调试(debug);

    • -u: 如果遇到不存在的变量,Bash 默认忽略它。 使用-u选项来避免这种情况。 即遇到未定义的变量。 则异常退出脚本. 等价于set -o nounset命令;

    其他写法:

    # 写法一
    command || {
           echo "command failed"exit 1}
    
    # 写法二
    if ! command; then echo "command failed"exit 1fi
    
    # 写法三
    command
    if [ "$?" -ne 0 ]then echo "command failed"exit 1fi
    
    • -e: 脚本只要发生错误,就终止执行。 set -e有一个例外情况,就是不适用于管道命令等价于set -o errexit命令;
    • -o pipefail:用于解决-e选项无法处理管道命令错误的问题,只要一个子命令失败,整个管道命令就失败,脚本就会终止执行。

使用场景:

一般shell脚本将以下内容放置到前几行:

set -euxo pipefail
set -o errexit
  • #!/usr/bin/env bash#!/bin/bash区别

前者无需在意所运行的解释器在何处(bash), 只要存在于你的$PATH环境变量中即可, 根据你的环境寻找并运行默认的版本,具有灵活性.

  • command -v <COMMAND>: 用于验证某个命令是否存在。 不存在则返回一个非零值.

使用场景:

shell脚本中判断一个命令是否存在且可执行。 可以使用以下命令:

if [ -x "$(command -v systemctl)" ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值