论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
主机系统
›
linux
›
linux学习day4——shell脚本中
linux学习day4——shell脚本中
大连全瓷种植牙齿制作中心
论坛元老
|
2024-10-28 23:14:40
|
显示全部楼层
|
阅读模式
楼主
主题
1486
|
帖子
1486
|
积分
4473
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
shell语法
概论
表明
变量
默认变量
数组
expr下令
read下令
echo下令
printf下令
test下令与判断符号[]
判断语句
循环语句
函数
exit下令
文件重定向
引入外部脚本
7.shell语法——read下令
read下令用于从尺度输入中读取单行数据。当读到文件结束符时,exit code为1,否则为0。
参数说明
-p: 后面可以接提示信息
-t:后面跟秒数,定义输入字符的等待时间,超过等待时间后会自动忽略此下令
实例:
acs@9e0ebfcd82d7:~$ read name # 读入name的值
acwing yxc # 标准输入
acs@9e0ebfcd82d7:~$ echo $name # 输出name的值
acwing yxc #标准输出
acs@9e0ebfcd82d7:~$ read -p "Please input your name: " -t 30 name # 读入name的值,等待时间30秒
Please input your name: acwing yxc # 标准输入
acs@9e0ebfcd82d7:~$ echo $name # 输出name的值
acwing yxc # 标准输出
复制代码
8. shell语法——echo下令
echo用于输出字符串。下令格式:
echo STRING
显示普通字符串
echo "Hello AC Terminal"
echo Hello AC Terminal # 引号可以省略
显示转义字符
echo ""Hello AC Terminal"" # 留意只能使用双引号,假如使用单引号,则不转义
echo "Hello AC Terminal" # 也可以省略双引号
显示变量
name=yxc
echo "My name is $name" # 输出 My name is yxc
显示换行
echo -e "Hi\n" # -e 开启转义
echo "acwing"
输出效果:
Hi
acwing
显示不换行
echo -e "Hi \c" # -e 开启转义 \c 不换行
echo "acwing"
输出效果:
Hi acwing
显示效果定向至文件
echo "Hello World" > output.txt # 将内容以覆盖的方式输出到output.txt中
原样输出字符串,不进行转义或取变量(用单引号)
name=acwing
echo '$name"'
输出效果
$name"
显示下令的执行效果
echo `date`
输出效果:
Wed Sep 1 11:45:33 CST 2021
10. shell语法——printf下令
printf下令用于格式化输出,类似于C/C++中的printf函数。
默认
不会在字符串末尾添加换行符
。
下令格式:
printf format-string [arguments...]
用法示例
脚本内容:
printf "%10d.\n" 123 # 占10位,右对齐
printf "%-10.2f.\n" 123.123321 # 占10位,保留2位小数,左对齐
printf "My name is %s\n" "yxc" # 格式化输出字符串
printf "%d * %d = %d\n" 2 3 `expr 2 \* 3` # 表达式的值作为参数
复制代码
输出效果:
123.
123.12 .
My name is yxc
2 * 3 = 6
复制代码
11. shell语法——test下令与判断符号[]
逻辑运算符&&和||
&& 表示与,|| 表示或
二者具有短路原则:
expr1 && expr2:当expr1为假时,直接忽略expr2
expr1 || expr2:当expr1为真时,直接忽略expr2
表达式的exit code为0,表示真;为非零,表示假。(与C/C++中的定义相反)
test下令
在下令行中输入man test,可以查看test下令的用法。
test下令用于判断文件范例,以及对变量做比较。
test下令用exit code返回效果,而不是使用stdout。0表示真,非0表示假。
例如:
test 2 -lt 3 # 为真,返回值为0
echo $? # 输出上个命令的返回值,输出0
复制代码
acs@9e0ebfcd82d7:~$ ls # 列出当前目录下的所有文件
homework output.txt test.sh tmp
acs@9e0ebfcd82d7:~$ test -e test.sh && echo "exist" || echo "Not exist"
exist # test.sh 文件存在
acs@9e0ebfcd82d7:~$ test -e test2.sh && echo "exist" || echo "Not exist"
Not exist # testh2.sh 文件不存在
复制代码
文件范例判断
下令格式:
test -e filename # 判断文件是否存在
12.
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
大连全瓷种植牙齿制作中心
论坛元老
这个人很懒什么都没写!
楼主热帖
初识C语言
记一次 .NET 某汽贸店 CPU 爆高分析 ...
浅入浅出 1.7和1.8的 HashMap
Net core中使用System.Drawing对上传的 ...
业务安全发展的三个阶段
小米14 Ultra 澎湃OS 1.0.1.0 ADB优化 ...
前后端分离项目(八):后端报错Field ...
java学习第二天
计算数学算式的值
Docker三种自定义网络(bridge、macvla ...
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
前端开发
网络安全
Mysql
快速回复
返回顶部
返回列表