news 2026/4/18 5:24:54

21、深入理解Shell中的字符串输入输出与命令行处理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
21、深入理解Shell中的字符串输入输出与命令行处理

深入理解Shell中的字符串输入输出与命令行处理

1. 额外的bash printf说明符

除了标准的说明符外,bash shell(以及其他符合POSIX标准的shell)还接受两个额外的说明符,不过它们存在一定的非可移植性。具体如下:
-%b:当用 %b 代替 %s 时,它会展开参数字符串中的 echo 风格转义序列。例如:

$ printf "%s\n" 'hello\nworld' hello\nworld $ printf "%b\n" 'hello\nworld' hello world
  • %q:当用 %q 代替 %s 时,它会以一种可用于shell输入的方式打印字符串参数。例如:
$ printf "%q\n" "greetings to the world" greetings\ to\ the\ world
2. read命令

shell 的字符串输入输出功能的另一部分是 read 命令,它允许将值读入shell变量。基本语法为:

read var1 var2...

该语句会从标准输入读取一行,并根据环境变量 IFS(通常是空格、制表符和换行符)的值将其拆分为单词,然后将这些单词分配给变量 var1、var2 等。例如:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/12 16:11:29

24、UNIX 系统进程处理与信号控制全解析

UNIX 系统进程处理与信号控制全解析 1. 进程终止信号与 kill 命令 在 UNIX 系统中,当需要终止进程时,我们可以使用 kill 命令。例如,若 alice 脚本返回退出状态码 131,当 QUIT 信号无法终止进程时,可使用 KILL 信号: $ kill -KILL %1执行上述命令后,会输出…

作者头像 李华
网站建设 2026/4/8 6:01:39

开源大模型技术普及化:从精英工具到普惠智能的范式转移

在人工智能技术快速演进的当下,开源大模型正悄然重塑着技术创新的权力格局。当我们审视新一代AI模型的发展轨迹时,一个鲜明的趋势正在显现:技术门槛的持续降低与创新机会的广泛分布。这场由开源驱动的技术普及化浪潮,正在催生前所…

作者头像 李华
网站建设 2026/4/11 11:23:59

1、深入探索 vi 与 Vim 编辑器:功能、使用与克隆版本

深入探索 vi 与 Vim 编辑器:功能、使用与克隆版本1. 文本编辑的重要工具:vi 与 Vim文本编辑是计算机系统中极为常见的任务之一,而 vi 则是系统中非常实用的标准文本编辑器。借助 vi,用户能够创建新文件,也可以编辑任何…

作者头像 李华
网站建设 2026/4/14 13:43:41

为什么DuckDB空间扩展正在重新定义本地GIS分析

为什么DuckDB空间扩展正在重新定义本地GIS分析 【免费下载链接】duckdb 项目地址: https://gitcode.com/gh_mirrors/duc/duckdb 在传统的地理信息系统分析中,开发者往往需要搭建复杂的PostgreSQLPostGIS环境,耗费大量时间和资源。DuckDB空间扩展…

作者头像 李华
网站建设 2026/4/16 19:56:31

Univer单元格渲染自定义:从基础到高级的完整实践指南

Univer单元格渲染自定义:从基础到高级的完整实践指南 【免费下载链接】univer Univer is a set of enterprise document and data collaboration solutions, including spreadsheets, documents, and slides. The highly extensible design allows developers to cu…

作者头像 李华
网站建设 2026/3/30 12:13:46

1811种语言+全链路合规:Apertus-8B如何重塑企业AI应用规则

1811种语言全链路合规:Apertus-8B如何重塑企业AI应用规则 【免费下载链接】Apertus-8B-Instruct-2509 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/Apertus-8B-Instruct-2509 导语 瑞士国家AI研究所推出的Apertus-8B开源大模型,以181…

作者头像 李华