长期支持版本

    社区创新版本

      utshell 用户手册

      介绍

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

      安装和卸载

      安装

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

      进入命令行界面执行:

      截图.png

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

      截图.png

      卸载

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

      
      rpm -e utshell
      

      截图.png

      使用

      一般命令

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

      utshell 支持如下内建命令:

      截图.png

      变量定义和使用

      变量定义

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

      
      var=4
      

      变量使用

      
      echo \${var}
      

      数组的定义和使用

      数组的定义

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

      数组的使用

      
      echo \${distros\[2\]}
      

      函数定义和使用

      函数的定义

      
      func() { echo \$1; }
      

      函数的调用

      
      func 1
      

      给函数传递参数

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

      func firstParam secondParam

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

      
      func() {
      
      echo \$1 \${10} \#需要传递 10 个参数
      
      }
      
      \#调用
      
      func 1 2 3 4 5 6 7 8 9 0
      

      逻辑判断

      if 语句

      语法为:

      
      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 可以是命令,如:

      
      if \[ \"\$s\" = \"string\" \]; then
      
      echo \"string is equivalent to \\\$s\"
      
      else
      
      echo \"string is not equivalent to \\\$s\"
      
      fi
      

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

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

      
          -f 检查文件是否存在并且它是一个普通文件。
      
          -d 检查提供的参数是否是目录。
      
          -h 检查提供的参数是否是符号链接。
      
          -s 检查文件是否存在且不为空。
      
          -r 检查文件是否可读。
      
          -w 检查文件是否可写。
      
          -x 检查文件是否可执行。
      

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

      
          -lt 小于
      
          -gt 大于
      
          -ge 大于等于
      
          -le 小于等于
      
          -ne 不等于
      

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

      
          == 两个字符串相同
      
          = 两个字符串相同(==)
      
          != 两个字符串不同
      
          -z 空字符串,返回 true
      
          -n 长度不是 0,则返回 true
      

      循环

      for 循环

      
      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 循环

      
      until \[condition\]; do
      
      commands
      
      done
      

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

      while 循环

      
      while \[ condition \]; do
      
      commands
      
      done
      

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

      文档捉虫

      “有虫”文档片段

      问题描述

      提交类型 issue

      有点复杂...

      找人问问吧。

      PR

      小问题,全程线上修改...

      一键搞定!

      问题类型
      规范和低错类

      ● 错别字或拼写错误;标点符号使用错误;

      ● 链接错误、空单元格、格式错误;

      ● 英文中包含中文字符;

      ● 界面和描述不一致,但不影响操作;

      ● 表述不通顺,但不影响理解;

      ● 版本号不匹配:如软件包名称、界面版本号;

      易用性

      ● 关键步骤错误或缺失,无法指导用户完成任务;

      ● 缺少必要的前提条件、注意事项等;

      ● 图形、表格、文字等晦涩难懂;

      ● 逻辑不清晰,该分类、分项、分步骤的没有给出;

      正确性

      ● 技术原理、功能、规格等描述和软件不一致,存在错误;

      ● 原理图、架构图等存在错误;

      ● 命令、命令参数等错误;

      ● 代码片段错误;

      ● 命令无法完成对应功能;

      ● 界面错误,无法指导操作;

      风险提示

      ● 对重要数据或系统存在风险的操作,缺少安全提示;

      内容合规

      ● 违反法律法规,涉及政治、领土主权等敏感词;

      ● 内容侵权;

      您对文档的总体满意度

      非常不满意
      非常满意
      提交
      根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
      文档捉虫
      编组 3备份