惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
有赞技术团队
有赞技术团队
宝玉的分享
宝玉的分享
雷峰网
雷峰网
Hugging Face - Blog
Hugging Face - Blog
V
V2EX
大猫的无限游戏
大猫的无限游戏
博客园 - 司徒正美
D
Docker
T
The Blog of Author Tim Ferriss
罗磊的独立博客
博客园 - 叶小钗
酷 壳 – CoolShell
酷 壳 – CoolShell
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
J
Java Code Geeks
Jina AI
Jina AI
博客园 - 【当耐特】
C
Check Point Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
腾讯CDC
Last Week in AI
Last Week in AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Visual Studio Blog

孤熵小狼

兆芯开先C+ 4701初考古 | 孤熵小狼 重设GoPro Hero 3/3+的Wi-Fi密码 | 孤熵小狼 在WindowsARM设备上使用STM32Link | 孤熵小狼 回顾2024,展望2025 | 孤熵小狼 「福瑞福瑞福·新年特辑」随记 | 孤熵小狼 解除HP ProDesk 400G1 小主机的处理器限制 | 孤熵小狼 「FurryGooo·雾海秘境」随记 | 孤熵小狼 通过DRBD实现NFS的高可用 | 孤熵小狼 手动处理DRBD脑裂问题 | 孤熵小狼 通过Docker部署Zerotier Planet服务端 | 孤熵小狼 正则表达式小笔记 | 孤熵小狼 Shell小笔记(三) | 孤熵小狼 Shell小笔记(二) | 孤熵小狼 Shell小笔记(一) | 孤熵小狼 Mac软件推荐 | 孤熵小狼 PowerBook G4 12吋(初代铝本)维护 | 孤熵小狼 使用Github Pages搭建个人博客 | 孤熵小狼 卡诺基RTX2060S矿卡流水账 | 孤熵小狼 「回忆」联想M73小主机的流水账 | 孤熵小狼
Shell小笔记(四) | 孤熵小狼
标签 · 2023-10-18 · via 孤熵小狼

别名

格式

在Linux中,别名的命令为 alias ,其使用方法为: alias 别名="表达式"

  • 别名通常只包含一个或多个简单的命令
  • 默认定义的是临时别名,只需要在终端输入 unalias 别名 或关闭当前终端即可撤销
  • 如需设置永久别名,则需要修改并生效环境变量文件,其位于 /etc/profile

举例

test 定义为 ls -l的别名

1
alias test=”ls -l“

image-20231017164826515

remove 定义为 rm -i 的别名

1
alias remove="rm -i"

image-20231017165107047

函数

格式

  1. Shell的函数格式与JavaScript、Python相似,也是解释性语言的共性啦;其格式如下:

    1
    2
    3
    4
    5
    6
    function_name () {




    }
  2. 要调用一个Shell函数,只需使用函数名称后面加上括号,可以传递参数作为函数的输入

    基本调用:函数名

    带参调用:函数名 参数

  3. 除此之外,还有些特殊字符,如下所示:

    符号 解释
    $0 脚本的名称
    $1 $2 $3 函数或脚本的参数,$1 表示第一个参数,以此类推
    $# 参数的数量
    $@ 以列表形式展示所有参数
    $* 将所有参数作为单个字符串展示
    $? 上一个命令的退出状态;
    用于检查命令是否成功执行(0 表示成功,非零表示失败)
    $$ 当前脚本或进程的PID(进程号)
    $! 最后一个在后台启动的命令或进程的PID(进程号)

举例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash


add_numbers() {
local num1=$1
local num2=$2
local sum=$((num1 + num2))
echo $sum
}


result=$(add_numbers 5 3)
echo "总和: $result"
echo "脚本名: $0"
echo "参数数量: $#"
echo "脚本参数: $@"
echo "最后一条命令的返回值: $?"
echo "进程号: $$"

返回值

说明

在Linux Shell中,返回值分为:状态返回值结果返回值;本文讲的是前者,用于判断命令执行的状态。

  • 函数的返回值,可通过 $? 系统变量获得

  • 需要自定义返回值时,可使用:return N (其中 N 的取值范围为:0-255

    如果不加,将以最后一条命令运行结果,作为返回值

  • 通常情况下,返回值为 0 为无错误返回,处于1-255内为有错误返回

💡提示:返回值是一组状态码;如果需要自定义输出(如特定文本),请使用echo

举例

写一个输出返回值的函数

1
2
3
4
5
6
7
#!/bin/bash
msg() {
echo "Done!"
return 32
}
msg
echo "返回值: $? "

image-20231018102307383

如果返回值大于255时,需要将返回值放入一个变量中(作为中转),避免溢出

1
2
3
4
5
6
7
#!/bin/bash
msg2() {
read -p "输入一个数字:" num
echo $[num*5]
}
result=`msg2`
echo "返回值: ${result} "

image-20231018103207507

内部命令

(1)内部命令是Shell程序的一部分,执行速度快且不需要创建子进程,但相应的功能简单。

(2)外部命令是Linux系统中的实用程序,需要额外安装,功能丰富、随取随用。

刃刃

趁年轻,多闯荡

本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自孤熵小狼