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,##/%%读取最后一个)

相关推荐
xian_wwq5 小时前
【学习笔记】模型权重管理:Safetensors与私有化Hub(23/35)
笔记·学习
其实防守也摸鱼5 小时前
运维--学习阶段问题解答(1)(自测)
linux·运维·服务器·数据库·学习·自动化·命令模式
ctrl_v助手5 小时前
Halcon学习笔记2
人工智能·笔记·学习
YUS云生6 小时前
Python学习笔记·第31天:FastAPI入门——路由、路径参数、查询参数与请求体
笔记·python·学习
铅笔侠_小龙虾7 小时前
Rust 学习目录
开发语言·学习·rust
渣渣灰飞8 小时前
MySQL 系统学习 第五阶段:企业级 MySQL 实战开发 第二章:RBAC 权限系统设计
android·学习·mysql
六bring个六8 小时前
open Harmony中分布式软总线的学习任务清单
分布式·学习·c/c++·open harmony
精神底层9 小时前
AI 学习笔记:研究方法的演变
人工智能·笔记·学习
依然范特东9 小时前
RAG学习总结3--检索技术
笔记·学习
白帽小阳10 小时前
[特殊字符]【2026最新】零基础入门学网络安全(详细路线图),看这篇就够了!
学习·安全·web安全·网络安全·安全运营·学习路线·web渗透