shell

#!/bin/bash

chmod +x ss.sh

for file `ls /etc`

for file $(ls /etc)

my_name="hy"

echo $my_name

echo ${my_name}

for skill in java php c; do

echo "fsdf ${skill}fsdfsdf

done

readonly my_name

unset my_name 删除变量;不能删除只读变量

declare -i age=10

myArray=(1 2 3) 数组

declare -A ass_array 关联数组

ass_array"name"="jj"

ass_array"age"=30

0 1 2 # $?

单引号字符串不能使用变量,不能使用转移符号,都无效

echo {#my_name} 字符串长度 变量为字符串时等价于 echo {#my_name0}

echo ${my_name:1:4} 从字符串で第二个开始截取四个字符

echo `expr index "$my_name" io` 字符串中i或o出现で位置,第一个出现で结果

echo ${myArray@} 获取数组で所有元素

echo {#myArray\[@\]} {#myArray\*} 数组长度

echo ${!myArray@} 获取数组で所有键

单行注释

:<<!

fsdf

fsdf

! 多行注释(!可以是其他符号单词,前后一致就行)

expr 用于计算 ,+ - * / % = == ! 表达式和计算符之间空格分开,== != 布尔计算符要用 括起来,且跟表达式空格分开 $a == $b

if $a == $b

then

echo "a==b"

fi

-eq -nq -gt -lt -ge -le 关系运算符

! -o -a 布尔运算符 非或且

&& || 逻辑运算符 \[ ]

= != -z -n $ 字符串运算符 ,等 不等,长度0返回true 长度不为零返回true 不为空返回true

-d -f -r -w -x -s -e 文件测试运算符 是否し目录,是否し普通文件,是否可读,可写,可执行,大小是否为0,是否存在

num=5

let num++

let num-- 通过let实现自增自减

num=((num + 1)) 通过(())实现自增自减

num=(expr num + 1) 通过expr实现自增自减

((num++)) 通过(())实现自增自减

echo -n 不换号 -e启用转义字符解释

echo "fs" > a.txt

echo "fd" >> a.txt

printf

test 表达式

或

表达式

function1(){

return 1

}

function1

echo ? 函数返回值通过调用函数后?获取 函数返回值必须在0-255的整数,函数必须先定义再使用 函数里通过n来使用传参 当参数\>=10时 使用{10}话空话括起来

包含文件

. filename

或

source filename

相关推荐
Shell运维手记2 天前
Shell 结构化命令知识点总结(case、for、while)
运维·microsoft·shell·脚本
云计算练习生2 天前
什么是 Bash?Linux 默认 Shell 的核心功能
linux·操作系统·bash·shell·命令解释器
猫咪很可爱3 天前
MySQL 5.7 备份恢复后函数与存储过程丢失:原因分析与正确备份姿势
数据库·mysql·bug·shell
qetfw4 天前
Linux 文件清理:find、mtime 与安全传参验证
linux·shell·1024程序员节
Lsetea6 天前
curl下载HTTPS文件报23:证书验证成功与本地写入失败分层排查
linux·https·shell·ssl证书·curl
DogDaoDao7 天前
Windows 双 Shell 全面对比:CMD 与 PowerShell 的技术剖析
windows·shell·测试·powershell·cmd·程序员开发
Lsetea8 天前
OpenSSL的checkhost显示不匹配却退出0:名称检查与证书验收
linux·https·shell·ssl证书·openssl
钱栈up10 天前
耳机音效不对,我顺手查了系统更新,结果挖出个崩溃了整天的服务
windows·shell
qetfw10 天前
grep 文本筛选:匹配、反选与退出状态验证
linux·shell
xbzb17 天前
Shell 函数:语法、传参与递归调用一次讲透
shell·递归·函数·调用·传参·递归调用