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

相关推荐
诸神缄默不语4 天前
Linux shell脚本教程
linux·bash·shell·sh
liyoro8 天前
用 Codex + 提示词生成一个快速打开 Ghostty 的 macOS 小工具
macos·shell·ai编程
pr_note9 天前
bashrc/alias
shell·tcl
怒放吧德德9 天前
JDK 版本一键切换工具(windows)
后端·shell
vortex511 天前
进程管理器大横评:从 PM2 到 Systemd 的选型与实战
linux·shell·进程管理
Irene199113 天前
Shell 相关基础入门,在 Ubuntu 与 CentOS Shell 中的语法差异总结(bash、dash、sh)
shell
小肝一下13 天前
5. 基础IO
android·linux·shell·基础io·操作系统底层·伊涅夫·伊雷娜
红茶要加冰15 天前
七、正则表达式
linux·运维·正则表达式·shell
lifewange15 天前
WSL安装问题解决
shell
AdCj315 天前
放弃第三方框架,用系统自带工具玩转 Shell 测试
shell·测试