Shell

来自小能手俱乐部
Gaozehao讨论 | 贡献2021年9月10日 (五) 06:12的版本
跳到导航 跳到搜索

简介

什么是 shell

什么是 shell 脚本

shell 环境

模式

交互模式
非交互模式

基本语法

解释器

注释

echo

echo 用于字符串的输出。

  • 输出普通字符串:
    echo "hello, world"
    # Output: hello, world
    
  • 输出含变量的字符串:
    name=xiaoming
    echo "hello, \"${name}\""
    # Output: hello, "xiaoming"
    
  • 输出含换行符的字符串:
    # 输出含换行符的字符串
    echo "YES\nNO"
    #  Output: YES\nNO
    
    echo -e "YES\nNO" # -e 开启转义
    #  Output:
    #  YES
    #  NO
    
  • 输出含不换行符的字符串:
    echo "YES"
    echo "NO"
    #  Output:
    #  YES
    #  NO
    
    echo -e "YES\c" # -e 开启转义 \c 不换行
    echo "NO"
    #  Output:
    #  YESNO
    
  • 输出重定向至文件:
    echo "test" > test.txt
    
  • 输出执行结果:
    echo `pwd`
    #  Output:(当前目录路径)
    

printf

printf 用于格式化输出字符串。

printf 命令的语法:

printf  format-string  [arguments...]

参数说明:

  • format-string: 为格式控制字符串
  • arguments: 为参数列表。

默认,printf 不会像 echo 一样自动添加换行符,如果需要换行可以手动添加 \n

变量

变量命名原则

声明变量

只读变量

删除变量

变量类型

字符串

单引号和双引号

拼接字符串

获取字符串长度

截取子字符串

查找子字符串

数组

创建数组

访问数组元素

访问数组长度

向数组中添加元素

从数组中删除元素

运算符

算术运算符

关系运算符

布尔运算符

逻辑运算符

字符串运算符

文件测试运算符

控制语句

条件语句

if

if else

if elif else

case

循环语句

for循环

while循环

until循环

select循环

break和continue

函数

位置参数

函数处理参数