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 如:
posted @   兔子春  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示