常见shell命令

  1. shell命令中如果有错误,则不往下继续运行
set -o nounset
set -o errexit
  1. shell 命令
shell 命令 含义
$0 当前脚本的文件名
$n 传递给脚本的参数
$# 传递给脚本的参数的个数
$* 传递给脚本的所有参数
$@ 传递给脚本的所有参数
$? 上个命令的退出状态,或者函数的返回值
$$ 当前shell的进程ID
-n 字符串长度是否不为0,若不为0则为True
-e 如果文件存在,则为True
-d 目录是否存在,若存在则为True
-h 是否是软链接,若是,则为True
-lt low than 小于
-ge greater equals 大于等于
-le less equals 小于等于
-eq equals 等于
-ne low than 不等于
-gt greater than 大于
  1. 循环语句

if判断

#!/bin/bash
if [ -n "$1"]
then
    echo "第一个参数$1"
else
    echo "第一个参数为空"
fi

while循环

while true
do
  wget --spider -q -o /dev/null --tries=1 -T 10 "127.0.0.1:${port}/ping"
  if [ $? -eq 0 ]; # 运行成功
  then
      echo "ping success"
      break
  else
      echo "ping failed, try again"
      sleep 3
  fi
done

for循环

ports=(15085 15086)
for i in "${!ports[@]}";
do
    port=${
    
    ports[$i]}
    xxxxx
done
  1. cat命令
    cat主要有三个功能:
  • 一次显示整个文件
cat logs.txt

显示文件,-n表示也显示行号

cat -n logs.txt
  • 创建一个文件
    只能创建新文件,不能编辑已有文件.
cat > logs.txt
  • 将几个文件合并为一个文件
cat camly* > filename
  1. readlink -f
    读取指定路径的绝对路径
path2=$(readlink -f $path)
  1. /dev/null

/dev/null 在Linux中其实是一个空设备文件。它天生就自命不凡,与普通文件划清界限。
其它文件遇到写入的内容照单全收,而 /dev/null 对于写入的东西通通扔掉。

猜你喜欢

转载自blog.csdn.net/qq_30129009/article/details/128159910