假设我们定义了一个变量为: file=/dir1/dir2/dir3/my.file.txt 我们可以用 ${ } 分别替换获得不同的值: ${file#*/}:拿掉第一条 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt ${file##*/}:拿掉最后一条 / 及其左边的字符串:my.file.txt ${file#*.}:拿掉第一个 . 及其左边的字符串:file.txt ${file##*.}:拿掉最后一个 . 及其左边的字符串:txt ${file%/*}:拿掉最后条 / 及其右边的字符串:/dir1/dir2/dir3 ${file%%/*}:拿掉第一条 / 及其右边的字符串:(空值) ${file%.*}:拿掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file ${file%%.*}:拿掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my 记忆的方法为: # 是去掉左边(在鉴盘上 # 在 $ 之左边) % 是去掉右边(在鉴盘上 % 在 $ 之右边) 单一符号是最小匹配﹔两个符号是最大匹配。 ${file:0:5}:提取最左边的 5 个字节:/dir1 ${file:5:5}:提取第 5 个字节右边的连续 5 个字节:/dir2 我们也可以对变量值里的字符串作替换: ${file/dir/path}:将第一个 dir 提换为 path:/path1/dir2/dir3/my.file.txt ${file//dir/path}:将全部 dir 提换为 path:/path1/path2/path3/my.file.txt 利用 ${ } 还可针对不同的变量状态赋值(没设定、空值、非空值): ${file-my.file.txt} :假如 $file 为空值,则使用 my.file.txt 作默认值。(保留没设定及非空值) ${file:-my.file.txt} :假如 $file 没有设定或为空值,则使用 my.file.txt 作默认值。 (保留非空值) ${file+my.file.txt} :不管 $file 为何值,均使用 my.file.txt 作默认值。 (不保留任何值) ${file:+my.file.txt} :除非 $file 为空值,否则使用 my.file.txt 作默认值。 (保留空值) ${file=my.file.txt} :若 $file 没设定,则使用 my.file.txt 作默认值,同时将 $file 定义为非空值。 (保留空值及非空值) ${file:=my.file.txt} :若 $file 没设定或为空值,则使用 my.file.txt 作默认值,同时将 $file 定义为非空值。 (保留非空值) ${file?my.file.txt} :若 $file 没设定,则将 my.file.txt 输出至 STDERR。 (保留空值及非空值)) ${file:?my.file.txt} :若 $file 没设定或为空值,则将 my.file.txt 输出至 STDERR。 (保留非空值) 还有,${#var} 可计算出变量值的长度: ${#file} 可得到 27 ,因为 /dir1/dir2/dir3/my.file.txt 刚好是 27 个字节...
相关推荐
Shell提供了一些预定义的特殊变量,如`$0`表示脚本名,`$#`表示传递给脚本的参数个数,`$*`或"$@"表示所有参数等。 6. **条件测试**: `$?`存储上一个命令的退出状态。如果命令成功执行,其值为0;如果失败,值为...
本手册涵盖了 Shell 编程的基础知识,包括 Shell 概述、Shell 解析器、Shell 脚本入门、Shell 中的变量等。 Shell 概述 Shell 是一种命令行接口,允许用户与操作系统进行交互。学习 Shell 编程可以让开发者更好地...
在Shell脚本编程中,`$`符号扮演着至关重要的角色,它被用来访问和操作各种类型的变量和特殊变量。以下是对 `$` 符号在Shell脚本中的常见用途的详细解释: 1. **引用变量**: 当你需要在脚本中使用变量的值时,...
B shell和C shell都是Linux操作系统中的shell类型,它们之间存在一些关键的区别。 首先,让我们从B shell开始。B shell,全称为Bourne shell,是UNIX最初使用的shell。它在每种UNIX上都可以使用,并且在shell编程...
在Linux系统中,shell编程是一种强大的工具,它允许...总的来说,shell编程提供了丰富的功能,从简单的任务自动化到复杂的系统管理,都是其应用场景。了解并掌握这些基本概念,能够帮助你更有效地编写和使用shell脚本。
Shell 脚本,springboot Linux服务部署脚本。将springboot打好的wrapper包部署的Linux服务器上。完成旧版本备份和配置文件替换,自动部署并重启服务。
提问: 我想要知道运行中脚本子shell的进程id。我该如何在shell脚本中得到PID。 当我在执行shell脚本时,它会启动一个叫子shell的进程。作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为...
标题提到的“python IDLE shell 中文界面”是指通过更换特定文件来将IDLE的界面语言切换为中文。这个过程涉及到对Python安装目录的修改,特别是针对`Lib`文件夹下的`idlelib`子目录。在描述中,博主指出他们使用的...
例如:应用最为广泛的 Windows Explorer (微软的windows系列操作系统),还有也包括广为人知的 Linux shell,其中linux shell 包括 X window manager (BlackBox和FluxBox),以及功能更强大的CDE、GNOME、KDE、 ...
Shell是一个功能相当强大的编程语言,易编写、易调试、灵活性强。Shell可以帮助我们来管理大数据集群,提高开发效率。本课程详细讲 解:Shell解析器、变量、运算符、条件判断、流程控制、函数、cut、sed、awk、sort...
在Shell脚本中,使用export命令可以将变量导出为全局变量,使之在子Shell中也能访问: ```shell export VARIABLE_NAME=value ``` 或者 ```shell declare -x VARIABLE_NAME=value ``` 五、Shell字符串操作 Shell字符...
在 Makefile 中,通用函数和通配符是用来匹配文件名的,而在 shell 脚本中,它们没有这种功能。 再次,shell 中所有以 $ 开头引用的变量其后要加 {},而 Makefile 中所有以 $ 开头引用的变量要加 ()。这两种语法的...
7. **定义 (DEFINITIONS)**:定义了Shell中的一些术语,帮助读者理解文档中使用的专业词汇。 8. **保留字 ("RESERVED WORDS")**:保留字是Shell语法中具有特殊含义的关键词,如`if`, `for`, `while`, `function`等...
01Shell 介绍.mp4 02Shell 概述.mp4 03Shell 解析器.mp4 04Shell HelloWorld案例.mp4 05Shell 多命令操作案例.mp4 06Shell 系统变量和自定义变量案例.mp4 07Shell $n案例.mp4 08Shell $#案例.mp4 09Shell $※$@案例....
由于提供的文件内容中存在大量重复的网址,没有提供实质性的学习内容,因此以下知识点将基于标题和描述中提到的“shell脚本学习指南”来展开。 Shell脚本是操作系统中的一个强大工具,它允许用户通过编写一系列的...
在IT行业中,shell脚本是Linux/Unix系统中进行自动化任务处理的一种强大工具。当我们需要对JSON文件中的特定字段进行修改时,shell脚本结合awk和sed命令可以提供灵活且高效的解决方案。以下将详细介绍如何使用这些...
### SHELL编程中一些常见的问题问答 #### 1. 为何叫做shell? Shell是一个非常重要的概念,它在操作系统中扮演着桥梁的角色,连接用户与计算机系统的核心(kernel)。从技术角度来看,shell是一个用户与系统的交互...
最后,教程可能还会涵盖一些进阶主题,比如Shell脚本中的错误处理、子shell、进程控制以及Shell扩展功能,如数组和关联数组的使用,以及函数库的创建。 总之,"Shell中文教程从零基础开始"全面覆盖了Shell编程的...
本资源是关于大数据技术中的 Shell 技术的详细文档,涵盖了 Shell 的概述、Shell 脚本入门、变量等方面的知识点。 章节 1:Shell 概述 Linux 提供的 Shell 解析器有多种,包括 /bin/sh、/bin/bash、/sbin/nologin...