HOME AUTHORS

常用Shell命令整理

2020年1月12日 12:31 2022年3月26日 19:55 更新
ali
Tags shell 命令 数组

shell脚本文件

shell脚本的扩展名不影响脚本的执行,可以是.sh,也可以是.php(用php语言写的),.py

新建一个test.sh文件,里面第一行一般是#!/bin/bash#!是一个约定的标记,告诉系统这个脚本用什么解释器执行

例如test.sh文件内容如下:

#!/bin/bash

echo "hello"

那么执行这个脚本(执行之前需要添加可执行权限)的时候,就会向标准输出输出"hello":

image

shell变量

命名格式

只能有字母、数字、下划线组成,不能以数字开头

使用变量

只读变量

在变量前加上readonly,变量就会变成只读,无法进行修改

删除变量

在变量前使用unset就可以删除变量,删除之后再引用就会无效(不会报错)

不能删除只读变量

shell字符串

1)在单引号括住的字符串无法引用变量,会原样输出

2)在单引号中无法使用转义字符

字符串长度

string="abcd"

echo ${#string} #输出4

或者:

echo ${#string[0]} #输出4

截取字符串

表示从第1个字符开始截取长度为4的字符:

string="i am fine"

echo ${string:1:4} #输出 am ,前后各有1个空格

shell数组

bash只支持一维数组,不支持多维数组

用括号表示数组,数组元素用空格分开:

数组名=(value0 value1 value2)

读取数组元素

${数组名[n]}

${数组名[@]}

获得数组长度

${#数组名[@]}

或者:

${#数组名[*]}

${#数组名[n]} # n为下标

常用shell命令

echo命令

history命令

会输出历史执行过的命令

历史命令调用

alias命令别名

~/bashrc文件中写入alias 命令别名=原命令,会永久生效,之后就可以使用这个别名进行执行命令,效果和原命令一样

source命令

使shell依次读入shell脚本文件中的命令并执行

image

bash常用快捷键

  1. ctrl R: 在历史命令中搜索

  2. ctrl a:光标移动到命令行的开头

  3. ctrl e: 光标移动到命令行的结尾

重定向

  1. >正确输出(覆盖)

  2. >>正确输出(追加)

  3. 2>错误输出(覆盖)

  4. 2>>错误输出(追加)

  5. <输入重定向

  6. <<输入重定向