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

相关推荐
zzzzzz3106 天前
NVIDIA 开源 SkillSpector:AI Agent 技能安全扫描器,你的 Agent 装了个定时炸弹?
机器学习·shell·cto
ScilogyHunter9 天前
Zephyr Shell完全指南
shell·zephyr
七夜zippoe9 天前
OpenClaw 节点命令执行:远程Shell与系统操作实战
github·shell·openclaw·nodes·系统操作
Mr -老鬼12 天前
EasyClick 入门指南:Shell 命令与 ADB 完全指南
android·adb·自动化·shell·easyclick·易点云测
tianyuanwo16 天前
Shell 脚本中的“字典”功能:从基础到工程化的最佳实践
shell·字典
爱睡觉11116 天前
在 Android 模拟器 Shell 下运行 ncnn 推理的性能排查记录
linux·shell
Bolt17 天前
Kimi code 用不了 Figma?看这里解决
shell·mcp
星光不问赶路人18 天前
Shell 脚本避坑指南:从模式匹配到错误处理的实用技巧
shell
pr_note20 天前
balance_points
shell·tcl
pr_note20 天前
icc2/fc屏蔽指定warning
shell·tcl