shell基础
shell开头
#!/bin/bash #!/bin/sh #!/usr/bin/awk #!/usr/bin/env python #!/usr/bin/perl
这几行在第一行,不再第一行就是注释
不用的话就用相关解释器带上文件名执行
在写脚本的时候如果不加前面的也会交给bash解释,但是还是指定解释器比较好
注意点一
定义变量名的时候等号旁边没有空格
要在登录后显示初始化内容可以将脚本文件放到 /etc/profile.d/
的下面或者是更改/etc/motd 文件
单引号中`` 命令无效
当参数大于9个要使用${}方式
touch 主要是用来更新时间的....
使用cat连接两个文件
ln -s 源文件 快捷方式 s表示链接
有多个命令就使用;号,若将输出全都重定向用{}扩起来,{}是父shell,()是子shell
注意点二
read读到换行符为止,所以就使用循环可以将文件读完,不然好像只能读一行 黑洞/dev/null 了解一下-.- cp mv rm 加上-i 进行确认 `command` == $(command) `read file` 是要求用户输入并且保存到file变量中... `read -p "" ver `就像scanf一样..(我下所的) readonly xxx=1 或者readonly xxx(已定义) 表示只读无法改变包括unset 用重定向代替输入
shell中0给了stdin 1给了stdout 2给了stderr
其余数字可以来关联输出文件 例如文件中>&3 命令用3>文件 输出到文件中
exec
将文件关联
paste
两个文件连接
tr
替换
if
空格[]
while
空格:
expand unexpand 将tab 转换成空格 一般只早开头 使用-a 替换全部
unset 消除定义的变量
${array[*]} == ${array[@]} ""${array[*]} != "${array[@]}"前面是整个数组的字符串,后面时整个数组
条件语句if or elif 后面要跟上 then 如:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南