bash shell学习日记番外 之脚本shell概述与bashshell脚本脚本写法格式
一.shell脚本理论介绍
1.计算机体系结构包括:硬件与软件
2.软件结构及重要位置:软件又分为系统软件和应用软件负责对硬件进行管理与操作的是系统软件内核部分,用户和操作系统之间的一个命令解释器。
3.用户是无法与硬件或内核打交道:shell使用户能使用硬件或内核:
4.centos7使用的shell脚本类型:
/bin/sh /bin/bash /bin/tcsh /bin/csh
/etc/shells 文件说明了当前系统有那些可用的shell.不同的系统有不同操作方法及特点centos默认使用shell为例讲解,也即是Bash
二.脚本写法格式(基础注意事项及格式):
SHELL编程注意事项
shell命名:shell脚本名称命名一般为英文,大写,小写。后缀以 .sh
不能使用特殊符号,空格
shell编程,首行 #!/bin/bash变量不能以数字,特殊符号开头。可以使用下划线_,但是不能使用破折号----
2.1 #!/bin/bash
如果进入脚本后开头不按照 “#!/bin/bash”形式写会出现问题
[root@localhost /]# vim Hello.sh
#!/bin/bash #开头格式
echo "hello world" #内容
[root@localhost /]# ll Hello.sh #查看是否Hello.sh是否创建完毕,及权限(权限文章博客有)
-rw-r--r--. 1 root root 32 3月 16 23:01 Hello.sh
[root@localhost /]# chmod +x Hello.sh #赋予执行权限
[root@localhost /]# ll Hello.sh #查看赋予的权限
-rwxr-xr-x. 1 root root 32 3月 16 23:01 Hello.sh
[root@localhost /]# ./Hello.sh #./+创建脚本名及为执行脚本
hello world #执行结果
2.2 echo的用法及解析:
使用echo命令创建一个脚本文件菜单功能描述:echo命令主要用来显示字符串信息
格式:echo 选项 字符串
用法示例:
[root@localhost /]# vim echo_menu.sh [root@localhost /]# bash echo_menu.sh 1.查看网卡信息 2.查看内存信息 3.查看磁盘信息 4.查看CPU信息 5.查看账户信息 [root@localhost /]# vim echo_menu.sh [root@localhost /]# chmod +x echo_menu.sh [root@localhost /]# echo "\t" \t [root@localhost /]# echo -e "hello\tworld" hello world [root@localhost /]# echo -e "helle\bo world" hello world
echo -e
可以让echo命令 时候识别 \ 后面的转义符号的含义如下:
1 [root@localhost /]# echo "\t" 2 \t 3 [root@localhost /]# echo -e "hello\tworld" 4 hello world 5 [root@localhost /]# echo -e "helle\bo world" 6 hello world 7 [root@localhost /]# echo -e "helle\bi world" 8 helli world 9 [root@localhost /]# echo -e "helle\2bo world" 10 helle\2bo world 11 [root@localhost /]# echo -e "helle\boo world" 12 helloo world 13 [root@localhost /]# echo -e "helle\b\bo world" 14 helo world 15 [root@localhost /]# echo -e "helle\b\b\bo world" 16 heo world 17 [root@localhost /]# echo -e "helle\b\b\b\bo world" 18 ho world 19 [root@localhost /]# echo -e "hello\fworld" 20 hello 21 world 22 [root@localhost /]# echo -e "hello\rworld" 23 world 24 [root@localhost /]# echo -e "\\" 25 \ 26 27 28 [root@localhost /]# echo -e "\033[1mOK" 29 OK 30 [root@localhost /]# echo -e "\e[1mOK\e[0m" 31 OK 32 [root@localhost /]# echo -e "\e[4mOK\e[0m" 33 OK 34 [root@localhost /]# echo -e "\e[3mOK\e[0m" 35 OK 36 [root@localhost /]# echo -e "\e[2mOK\e[0m" 37 OK 38 [root@localhost /]# echo -e "\e[9mOK\e[0m" 39 OK 40 [root@localhost /]# echo -e "\e[8mOK\e[0m" 41 OK 42 [root@localhost /]# echo -e "\e[7mOK\e[0m" 43 OK 44 [root@localhost /]# echo -e "\e[5mOK\e[0m" 45 OK 46 [root@localhost /]# echo -e "\e[30mOK\e[0m" 47 OK 48 [root@localhost /]# echo -e "\e[31mOK\e[0m" 49 OK 50 [root@localhost /]# echo -e "\e[33mOK\e[0m" 51 OK 52 [root@localhost /]# echo -e "\e[32mOK\e[0m" 53 OK 54 [root@localhost /]# echo -e "\e[34mOK\e[0m" 55 OK 56 [root@localhost /]# echo -e "\e[35mOK\e[0m" 57 OK 58 [root@localhost /]# echo -e "\e[36mOK\e[0m" 59 OK 60 [root@localhost /]# echo -e "\e[37mOK\e[0m" 61 OK 62 [root@localhost /]# echo -e "\e[1;33mOK\e[0m" 63 OK 64 [root@localhost /]# echo -e "\e[42mOK\e[0m" 65 OK 66 [root@localhost /]# echo -e "\e[44mOK\e[0m" 67 OK 68 [root@localhost /]# echo -e "\e[32;44mOK\e[0m" 69 OK
2.3 printf 格式 参数
实例:
1 [root@localhost /]# printf "%d" 12 2 12[root@localhost /]# printf "%d" jerry 3 bash: printf: jerry: 无效数字 4 [root@localhost /]# printf "%5d" 12 5 12[root@localhost /]# printf "%7d" 12 6 12[root@localhost /]# printf "%-7d" 12 7 12 [root@localhost /]# printf "%-5d" 12 8 12 [root@localhost /]# 9 [root@localhost /]# printf "|%-10d|\n" 12 10 |12 | 11 [root@localhost /]# printf "|%10d|\n" 12 12 | 12| 13 [root@localhost /]# printf "|%10d|\n" 12p^C 14 15 [root@localhost /]# printf "%o\n" 10 16 12 17 [root@localhost /]# printf "%x\n" 10 18 a 19 20 [root@localhost /]# print "%d\n" 9223372036854775808 21 bash: print: 未找到命令... 22 [root@localhost /]# printf "%d\n" 9223372036854775808 23 bash: printf: 警告: 9223372036854775808: 数值结果超出范围 24 9223372036854775807 25 [root@localhost /]# printf "%u\n" 9223372036854775808 26 9223372036854775808 27 [root@localhost /]# printf "%f\n" 3.88 28 3.880000 29 [root@localhost /]# printf "%d\n" 3.88 30 bash: printf: 3.88: 无效数字 31 3 32 [root@localhost /]# printf "%.3f\n" 3.88 33 3.880 34 [root@localhost /]# printf "%.4f\n" 3.88 35 3.8800 36 [root@localhost /]# printf "%.5f\n" 3.88 37 3.88000 38 [root@localhost /]# printf "|%8.3f|\n" 3.88 39 | 3.880| 40 [root@localhost /]# printf "|%-8.3f|\n" 3.88 41 |3.880 | 42 [root@localhost /]# printf "%s\n" "hello" 43 hello 44 [root@localhost /]# printf "|%10s|\n" "hello" 45 | hello| 46 [root@localhost /]# printf "|%-10s|\n" "hello" 47 |hello | 48 [root@localhost /]# printf "%s\t\t%s\n" "hello" "word" 49 hello word
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具