Linux运维常用的Shell参数及实例

一、基本参数

1、-f参数:指定Shell脚本文件名

#!/bin/bash
echo "Hello World"

执行:./test.sh

输出:Hello World

2、-n参数:不执行脚本内容,用于检查语法错误

#!/bin/bash -n
echo "Hello World"

执行:./test.sh

输出:无,因为脚本没有实际执行。

3、-x参数:打印执行的每一条命令及结果

#!/bin/bash -x
ls
pwd

执行:./test.sh

输出:

ls

file1 file2

pwd

/home/user/test

二、标准输入输出参数

1、重定向标准输出到文件

#!/bin/bash
echo "Hello World" > output.txt

执行:./test.sh

输出:output.txt文件中包含字符串”Hello World”

2、从文件中读取输入

#!/bin/bash
read name
echo "Hello $name"

执行:./test.sh \< input.txt

输入:John

输出:Hello John

3、将命令的标准输出重定向到标准错误输出

#!/bin/bash
ls /fake/dir 2>&1 >&2

执行:./test.sh

输出:ls: cannot access ‘/fake/dir’: No such file or directory

三、参数替换

1、${var}替换成变量var的值

#!/bin/bash
var="World"
echo "Hello ${var}"

执行:./test.sh

输出:Hello World

2、${var:-default}如果var未定义,则使用默认值default

#!/bin/bash
echo "Hello ${var:-World}"

执行:./test.sh

输出:Hello World

3、${var:=default}如果var未定义,则设置为默认值default

#!/bin/bash
echo "Hello ${var:=World}"
echo "var is now set to $var"

执行:./test.sh

输出:

Hello World

var is now set to World

4、${var:+othervalue}如果变量var被设置,则使用othervalue

#!/bin/bash
var="Hello"
echo "${var:+World}"
echo "${var:+Everyone}"

执行:./test.sh

输出:

World

Everyone

四、通配符

1、*匹配任意长度的任何内容

#!/bin/bash
for file in *
do
    echo "$file"
done

执行:./test.sh

输出:当前目录下的所有文件和目录名称

2、?匹配一个字符

#!/bin/bash
ls ????

执行:./test.sh

输出:列出4个字符长的文件名

3、[]匹配中括号中任意一个字符

#!/bin/bash
ls [abc]*

执行:./test.sh

输出:列出以a、b、c开头的文件名

五、管道

1、将ls命令的输出通过管道符号发送给grep命令,用于搜索:

#!/bin/bash
ls | grep "file"

执行:./test.sh

输出:列出所有文件名中包含”file”的文件

2、将ping命令的输出通过管道符号发送给awk命令,用于处理:

#!/bin/bash
ping -c 3 www.google.com | awk '/^rtt/ { print $4 }'

执行:./test.sh

输出:ping的三次响应时间

六、条件语句

1、if语句

#!/bin/bash
if [ -f file.txt ]
then
    echo "file.txt exists"
else
    echo "file.txt does not exist"
fi

执行:./test.sh

输出:如果当前目录下存在file.txt文件,则输出”file.txt exists”,否则输出”file.txt does not exist”

2、case语句

#!/bin/bash
echo "Enter a number between 1 and 3: "
read num
case $num in
    1)
        echo "You entered 1"
        ;;
    2)
        echo "You entered 2"
        ;;
    3)
        echo "You entered 3"
        ;;
    *)
        echo "Invalid input"
        ;;
esac

执行:./test.sh

输入:2

输出:You entered 2

七、循环语句

1、for循环

#!/bin/bash
for i in {1..5}
do
    echo "Count: $i"
done

执行:./test.sh

输出:

Count: 1

Count: 2

Count: 3

Count: 4

Count: 5

2、while循环

#!/bin/bash
i=5
while [ $i -gt 0 ]
do
    echo "Count: $i"
    i=$((i - 1))
done

执行:./test.sh

输出:

Count: 5

Count: 4

Count: 3

Count: 2

Count: 1

3、until循环

#!/bin/bash
i=1
until [ $i -gt 5 ]
do
    echo "Count: $i"
    i=$((i + 1))
done

执行:./test.sh

输出:

Count: 1

Count: 2

Count: 3

Count: 4

Count: 5

八、函数

1、定义函数

#!/bin/bash
function print_input {
    echo "You entered: $1"
}
print_input "Hello World"

执行:./test.sh

输出:You entered: Hello World

2、函数返回值

#!/bin/bash
function calc_sum {
    total=$(( $1 + $2 ))
    echo $total
}
result=$(calc_sum 10 20)
echo "The result is: $result"

执行:./test.sh

输出:The result is: 30

以上是Linux运维常用的Shell参数及实例的介绍,可以在日常的运维工作中大显身手!

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/256613.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-15 12:41
下一篇 2024-12-15 12:41

相关推荐

  • 三星内存条参数用法介绍

    本文将详细解释三星内存条上面的各种参数,让你更好地了解内存条并选择适合自己的一款。 一、容量大小 容量大小是内存条最基本的参数,一般以GB为单位表示,常见的有2GB、4GB、8GB…

    编程 2025-04-29
  • Python 常用数据库有哪些?

    在Python编程中,数据库是不可或缺的一部分。随着互联网应用的不断扩大,处理海量数据已成为一种趋势。Python有许多成熟的数据库管理系统,接下来我们将从多个方面介绍Python…

    编程 2025-04-29
  • Python3定义函数参数类型

    Python是一门动态类型语言,不需要在定义变量时显示的指定变量类型,但是Python3中提供了函数参数类型的声明功能,在函数定义时明确定义参数类型。在函数的形参后面加上冒号(:)…

    编程 2025-04-29
  • Python生成随机数的应用和实例

    本文将向您介绍如何使用Python生成50个60到100之间的随机数,并将列举使用随机数的几个实际应用场景。 一、生成随机数的代码示例 import random # 生成50个6…

    编程 2025-04-29
  • Spring Boot中发GET请求参数的处理

    本文将详细介绍如何在Spring Boot中处理GET请求参数,并给出完整的代码示例。 一、Spring Boot的GET请求参数基础 在Spring Boot中,处理GET请求参…

    编程 2025-04-29
  • Python input参数变量用法介绍

    本文将从多个方面对Python input括号里参数变量进行阐述与详解,并提供相应的代码示例。 一、基本介绍 Python input()函数用于获取用户输入。当程序运行到inpu…

    编程 2025-04-29
  • Python Class括号中的参数用法介绍

    本文将对Python中类的括号中的参数进行详细解析,以帮助初学者熟悉和掌握类的创建以及参数设置。 一、Class的基本定义 在Python中,通过使用关键字class来定义类。类包…

    编程 2025-04-29
  • Hibernate日志打印sql参数

    本文将从多个方面介绍如何在Hibernate中打印SQL参数。Hibernate作为一种ORM框架,可以通过打印SQL参数方便开发者调试和优化Hibernate应用。 一、通过配置…

    编程 2025-04-29
  • Python函数名称相同参数不同:多态

    Python是一门面向对象的编程语言,它强烈支持多态性 一、什么是多态多态是面向对象三大特性中的一种,它指的是:相同的函数名称可以有不同的实现方式。也就是说,不同的对象调用同名方法…

    编程 2025-04-29
  • 全能编程开发工程师必知——DTD、XML、XSD以及DTD参数实体

    本文将从大体介绍DTD、XML以及XSD三大知识点,同时深入探究DTD参数实体的作用及实际应用场景。 一、DTD介绍 DTD是文档类型定义(Document Type Defini…

    编程 2025-04-29

发表回复

登录后才能评论