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

相关推荐
Lsetea5 天前
OpenSSL s_client退出码为0却证书验证失败:严格校验与Shell管道排查
https·shell·ssl证书·openssl·tls
fox_charon7 天前
Windows 下 CLI 参数的引号陷阱:为什么 --resume 'uuid' 会失败
windows·shell·cmd·cli·引号
吴声子夜歌16 天前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
吴声子夜歌17 天前
Shell编程实例——内务及管理任务(一)
linux·运维·shell
吴声子夜歌17 天前
Shell编程实例——高级脚本编程(一)
linux·运维·网络·shell
吴声子夜歌17 天前
Shell编程实例——bash的配置与自定义(二)
linux·运维·shell
吴声子夜歌18 天前
Shell编程实例——与解析相关的任务(二)
linux·运维·shell
吴声子夜歌18 天前
Shell编程实例——脚本编程的附加特性
linux·运维·shell
云计算练习生18 天前
什么是内核?操作系统内核到底管哪些事
linux·windows·操作系统·内核·shell
吴声子夜歌21 天前
Shell编程实例——bash入门
linux·运维·shell