diff --git "a/\351\231\210\346\231\223\345\275\244/20240710-\351\207\215\345\256\232\345\220\221\343\200\201\347\256\241\351\201\223\347\254\246.md" "b/\351\231\210\346\231\223\345\275\244/20240710-\351\207\215\345\256\232\345\220\221\343\200\201\347\256\241\351\201\223\347\254\246.md" new file mode 100644 index 0000000000000000000000000000000000000000..4bef10b208ea0662da369386a365d866604540e1 --- /dev/null +++ "b/\351\231\210\346\231\223\345\275\244/20240710-\351\207\215\345\256\232\345\220\221\343\200\201\347\256\241\351\201\223\347\254\246.md" @@ -0,0 +1,27 @@ +## 重定向 + ++ 0:标准输入:wc < bb.txt less < bb.txt tail < bb.txt + ++ 1:标准输出:cat < bb.txt + ++ 2:标准错误 + +## 管道符 + ++ 一个命令的输出,想作为另一个命令的输入,用到管道符 + ++ tail -n bb.txt | cat + +## Shell--流程管理 + ++ 权限管理:chmod +x bb.txt + ++ #!/bin/bash + ++ 命令查看:./bb.txt + ++ 删几行;xdd + ++ 全删:%d + + diff --git "a/\351\231\210\346\231\223\345\275\244/20240711-shell\350\204\232\346\234\254.md" "b/\351\231\210\346\231\223\345\275\244/20240711-shell\350\204\232\346\234\254.md" new file mode 100644 index 0000000000000000000000000000000000000000..6a97b705e99f41fd9c48ee0ead4a3f016c858e38 --- /dev/null +++ "b/\351\231\210\346\231\223\345\275\244/20240711-shell\350\204\232\346\234\254.md" @@ -0,0 +1,51 @@ +## Shell + +#!/bin/bash(#是一个注释) + +改写权限:chmod +x bb.txt + +执行程序:./bb.txt + +## shell变量 + +定义变量没有$,使用变量有$符号 + +使用系统命令,要使用反引号 ` ` + +使用变量;${ name } + +### 变量类型: + +局部变量:在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量 + +环境变量:所有的程序,包括shell启动的程序,都能访问环境变量,必要的时候shell脚本也可以定义环境变量---->$PATH + +shell变量:由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,不同类型的变量保证了shell的正常运行 + +### shell字符串类型 + +字符串可以用单引号,也可以用双引号,也可以不用引号,双引号较单引号而言有更强大的优势 + +获取字符串:echo ${# name } (多添加一个#号) + +查找字符串: + +string="this is a test" + +echo `expr index "$string" it` # 输出 1 + +### shell数组 + +获取数组长度: + +#### 取得数组元素的个数 + +length=${#array_name[@]} # 从头到尾取 + +#### 或者 + +length=${#array_name[*]} # 取所有 + +#### 取得数组单个元素的长度 + +lengthn=${#array_name[n]} # 取特定 \ No newline at end of file