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

相关推荐
柒号华仔3 天前
「速通Shell」Shell 脚本测试详解
shell
柒号华仔4 天前
「速通Shell」Shell 脚本模块化
shell
柒号华仔5 天前
「速通Shell」Shell编程的错误处理与日志
shell
柒号华仔6 天前
「速通Shell」Shell 数组、关联数组与 mapfile
shell
苏灿烤鱼8 天前
一套进程代替八件套,桌面更稳还是单点更大
linux·github·shell
茶本无香8 天前
通用报表自动化框架:Java调用Shell传参执行PostgreSQL SQL模板
java·sql·postgresql·shell
柒号华仔9 天前
「速通Shell」Shell 循环与遍历
shell·编程语言
十里春风_jzh10 天前
Tabby 修改版:更美观的现代终端
shell·tabby
茶本无香10 天前
Java调用Shell脚本执行SQL数据库操作:从入门到实战
java·sql·shell
柒号华仔12 天前
「速通Shell」织线为面,Shell条件测试和判断
shell