shell内置变量命令:echo、eval、exec、export、read、shift
作者:moox- 更多信息...
本文为学习使用,请多多指教:https://www.cnblogs.com/moox/p/12827276.html
bash Shell内置变量命令
bash Shell包含一些内置命令。这些内置命令在目录列表里是看不见的,它们由Shell本身提供。常用的内部命令有:echo、eval、exec、export、read、shift。下面简单介绍几个最常用的内置命令的格式和功能
1.echo在屏幕上输出信息
命令格式:echo args #<==可以是字符串和变量的组合。功能说明:将echo命令后面args指定的字符串及变量等显示到标准输出。
echo参数选项 | 说明 |
---|---|
-n | 不换行输出内容 |
-e | 解析转义字符 |
转义字符 | \n -- 换行 \r -- 回车 \t -- 制表符(tab) \b -- 退格 \v -- 纵向制表符 |
- echo的参数应用实例:
复制[root@zabbix ~]# echo oldboy;echo oldgirl
oldboy
oldgirl
[root@zabbix ~]# echo -n oldboy;echo oldgirl
oldboyoldgirl -- -n参数不换行输出
[root@zabbix ~]# echo "oldboy\toldgirl\noldboy\toldgirl"
oldboy\toldgirl\noldboy\toldgirl -- 没有-e参数,不能解析转义字符
[root@zabbix ~]# echo -e "oldboy\toldgirl\noldboy\toldgirl"
oldboy oldgirl
oldboy oldgirl -- -e参数解析转义字符
[root@zabbix ~]# printf "oldboy\toldgirl\noldboy\toldgirl\n"
oldboy oldgirl
oldboy oldgirl -- echo -e 等价于printf
2.eval
命令格式:eval args
功能:当Shell程序执行到eval语句时,Shell读入参数args,并将它们组合成一个新的命令,然后执行。
- set和eval命令的使用(含特殊位置变量用法)方法
[root@zabbix ~]# cat eval.sh
echo $1 $2 -- 打印输出第一第二个参数
echo $# -- 打印输出参数个数
eval "echo \$$#" -- 二次解析"echo $2"为一个命令,输出结果
[root@zabbix ~]# sh eval.sh arg1 arg2
arg1 arg2
2
arg2
3.exec
命令格式:exec命令参数
功能:exec命令能够在不创建新的子进程的前提下,转去执行指定的命令,当指定的命令执行完毕后,该进程(也就是最初的Shell)就终止了,示例如下:
[root@zabbix ~]# seq 5 > /tmp/tmp.log
[root@zabbix ~]# cat exec.sh
exec < /tmp/tmp.log -- 读取log内容
while read line --利用read一行行读取
do
echo "this is the $line line." -- 打印输出
done
echo ok
[root@zabbix ~]# sh exec.sh
this is the 1 line.
this is the 2 line.
this is the 3 line.
this is the 4 line.
this is the 5 line.
ok
[root@zabbix ~]#
4. read
待补充
5.shift
待补充
作者:moox
出处:http://www.cnblogs.com/moox/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
标签:
SHELL编程
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· C# 中比较实用的关键字,基础高频面试题!
· .NET 10 Preview 2 增强了 Blazor 和.NET MAUI
· 为什么AI教师难以实现
· 如何让低于1B参数的小型语言模型实现 100% 的准确率
· AI Agent爆火后,MCP协议为什么如此重要!