源码
中文

服务器

版本:25.03

utshell 用户手册

介绍

utshell 是一个与 bash 兼容的 shell。它实现了基本的内建命令执行和启动外部命令。同时也实现了任务、管道和信号处理等功能。

安装和卸载

安装

utshell 使用 rpm 命令进行安装,我们假设使用的是欧拉的 2309 系统:

进入命令行界面执行:

截图.png

根据提示输入"y",即可安装成功。

截图.png

卸载

在命令行执行rpm -e utshell即可卸载 utshell。

shell
rpm -e utshell

截图.png

使用

一般命令

在 utshell 环境下,直接键入命令名即可执行对应的命令。

utshell 支持如下内建命令:

截图.png

变量定义和使用

变量定义

变量定义直接用"=",中间不能有空格。

shell
var=4

变量使用

shell
echo \${var}

数组的定义和使用

数组的定义

shell
distros=(ubuntu fedora suse \"arch linux\")

数组的使用

shell
echo \${distros\[2\]}

函数定义和使用

函数的定义

shell
func() { echo \$1; }

函数的调用

shell
func 1

给函数传递参数

调用函数时,在函数名后面直接以空格分割参数:

func firstParam secondParam

在函数体中使用$1,$2......其中$1 表示第一个参数,$2 表示第二个参数,大于 9 的需要用大括号括起来。

shell
func() {

echo \$1 \${10} \#需要传递 10 个参数

}

\#调用

func 1 2 3 4 5 6 7 8 9 0

逻辑判断

if 语句

语法为:

shell
if condition; then

do-if-true;

elif second-condition; then

do-else-if-true

elif third-condition; then

do-else-if-third-true

else

do-else-false

fi

其中 condition 可以是命令,如:

shell
if \[ \"\$s\" = \"string\" \]; then

echo \"string is equivalent to \\\$s\"

else

echo \"string is not equivalent to \\\$s\"

fi

也可以是测试条件操作符:

下面简单介绍些条件操作符:

shell
    -f 检查文件是否存在并且它是一个普通文件。

    -d 检查提供的参数是否是目录。

    -h 检查提供的参数是否是符号链接。

    -s 检查文件是否存在且不为空。

    -r 检查文件是否可读。

    -w 检查文件是否可写。

    -x 检查文件是否可执行。

如果用于数字比较,可以用如下测试条件操作符:

shell
    -lt 小于

    -gt 大于

    -ge 大于等于

    -le 小于等于

    -ne 不等于

如果用于字符串比较,可以用如下测试条件操作符:

shell
    == 两个字符串相同

    = 两个字符串相同(==)

    != 两个字符串不同

    -z 空字符串,返回 true

    -n 长度不是 0,则返回 true

循环

for 循环

shell
for number in 1 2 3 4 5

do

echo \$number

done

使用列表:

for number in {1..500..2}

do

echo \$number

done

其中{1..500..2}表示起始数字为 1,结束数字为 500(包括),步长为 2。

until 循环

shell
until \[condition\]; do

commands

done

当条件为真时,执行循环;

while 循环

shell
while \[ condition \]; do

commands

done

当条件为真时,执行循环。