shell脚本初学习

Shell脚本通常以.sh作为拓展名(不用拓展名也可以执行脚本,主要为了更直观看出文件是shell脚本)

脚本第一行通常以#!并加绝对路径,绝对路径指向解释器程序,用来解释执行此脚本,

#!/bin/bash(所有发行版本都默认预装了)

以下就可以输入命令,在命令行能执行的都可以,

例如echo Hello World!

在命令界面输入

  1. 指定对应解释器程序运行脚本

/bin/bash test.sh (明确将脚本交给bash执行)

  1. 给脚本文件加上执行权限

Chmod +x test.sh

这样一来直接执行程序即可

./test.sh(这样要求脚本第一行必须指定解释程序绝对路径)

在echo命令中,要想让转义符执行,要加选项-e

``反引号输出执行里面的命令 例如:`date +%F:%T`

''单引号原样输出,但括号里内容直接输出原样

""双引号解析变量(、%)其他的原样输出,"你好name,年龄$age"

在命令也输入a=1是只针对当前shell进程有效

Export是针对当前进程与子进程都有效

+加号后面不加空格

改变字体颜色 \033[1;33m\033[2m

\033(固定搭配)[1(改变字体);33(改变字体颜色)m\033[2m

预定义变量 $?返回上一个命令返回的结果(零或非零)

Echo "1.2+1" | bc (bc可计算小数)

不能使用程序中带的单词(if、for)

数字、下划线_和字母开头a=1

Sep

$0绝对路径

$@逐一输出

$*全部输出

$#变量个数输出

$$脚本进程产生ID输出

$?返回上一个命令返回的结果

Exit结束 ,后接(上限值0~255之间)

Strace ls可以追踪执行过程

\ 转义符 echo "\ab"屏蔽的定义 输出a2

Echo ${star1(#/%)*l} (#表示留下l右边,%表示留下l左边 读取第一个l,##/%%读取最后一个)

相关推荐
平凡シンプル4 分钟前
TCP UDP 网络通信插件 SL-Uniplugin-Tcp-Udp
网络·学习·uniapp·记录
RisunJan12 分钟前
【地球脉动】地球日报 · 2026-09-14(过去24小时,非头条视角)
学习
xx~t14 分钟前
嵌入式——单片机2
嵌入式硬件·学习·51单片机·串口·蜂鸣器
sunoo-2291 小时前
【51单片机实战】温控下位机完整实现:DS18B20采集 + 自定义二进制串口协议 + PWM声光告
笔记·学习·51单片机·串口
每天题库2 小时前
客运从业资格证备考:题库里的高频数字题,单独整理不丢分
学习·考试·题库·考证
sunshine22 girl2 小时前
Java学习 java原理
java·开发语言·学习
conlin day2 小时前
石头记的开头,荣府初逢
经验分享·学习·程序人生
m4Rk_2 小时前
【论文阅读】Agent 记忆机制(70):RecMem——只在记忆反复出现时才调用 LLM 做巩固
论文阅读·人工智能·学习·开源·github
kkkkkkkkkk_Z3 小时前
学嵌入式和Linux应用编程|学习日记:UDP协议与Wireshark抓包学习笔记
linux·笔记·学习