介绍下Shell中的${}、##和%使用范例,本文给出了不同情况下得到的结果。
假设定义了一个变量为:
代码如下:
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 Linux命令功能强大,学会其命令会使操作简易方便。推荐看下《Linux命令大全》,具体可看下图:
linux的shell语言中匹配字符左侧(#)或右侧(%)的符号
Linux Shell语言中包含有用于字符串处理的特殊字符,如"#"、"##"、"%"和"%%"。它们虽非正则表达式组成部分,却在字符串操作中发挥重要作用。下面逐一介绍它们的使用方法:"#"用于在字符串处理时删除匹配模式左侧的最短字符串。例如,若要从字符串"hello#"中删除左侧的匹配模式"#",则使用"#"符号。
linux shell:这里的%% * 是什么意思?
}的意思就是从LINE这个变量的值中,从后面开始以最长匹配删去%%后面的表达式内容。从你的shell看,wc -l的结果是行数+空格+文件名,你的匹配项是'空格*',那么从后面开始的最长匹配就是行数后面的所有内容,也就是说,这个表达式最终的结果是产生命令行参数所带文件的行数。看一下man bash可以找到...
计算机上的%是什么意思?
计算机上的%是什么意思?% 又称为百分号,它源于拉丁文中的percentum,意思是百分之一。在计算机领域里,% 表示百分数,一般用于表示一个数字相对于另一个数字的百分比。比如,55% 表示 55 的百分之一,也就是 0.55。在数学与统计学中,% 还可以表示概率、置信度、误差等。在计算机编程中,% 还有...
linux内核top命令中%cpu后有哪些参数?
Linux内核top命令中%CPU后的参数具体说明如下:1. sy参数表示内核花费的CPU时间百分比。若sy数值较高,说明系统处理的进程数量较多,内核在CPU上的占用时间也相应增加。2. id参数代表CPU空闲时间百分比。若id数值较低,表明系统负载较高,可能需要优化资源分配以缓解CPU压力。3. wa参数则用于表示等待I\/O...
linux中的PS1=%是什么?
下面是PS1变量中各特殊符号的含义:\\a 显示系统日期,格式:星期 日期 例:PS1="\\d >" 结果:六 10月 24 > \\A 显示系统时间,格式:HH:MM 例:PS1="\\A >" 结果:21:04 > \\t 显示系统时间,格式:HH:MM:SS (24小时制)例:PS1="\\t >" 结果:21:04:32 > \\T 显示系统...
Linux常用系统管理命令
此时使用的命令就是kill,因为kill是大多数Shell内部命令可以直接调用的。 5.应用实例 (1)强行中止(经常使用杀掉)一个进程标识号为324的进程: #kill -9 324 (2)解除Linux系统的死锁 在Linux中有时会发生这样一种情况:一个程序崩溃,并且处于死锁的状态。此时一般不用重新启动计算机,只需要中止(或者说是关闭)这个...
linux环境i\/o%什么意思
输入输出的标准设备。比如可指定为控制台,通过串口接受用户键盘输入,并送出回显信息。
classpath环境变量中的%是什么意思
调用已设置好的环境变量的意思。WINDOW中是 比如你设置 好你的JAVA_HOME 为c:\/\/jdk1.6 此时你在cmd中 输入echo %JAVA_HOME%你就会看到c:\/\/jdk1.6 设classpath的时候就可用%JAVA_HOME%了
linux中%-2d是什么意思
你问的应该是C语言中的意思吧。d表示是按照整数格式输出;-表示数字的对齐方式为左对齐,默认为右对齐的;中间2表示数字不足2位则补齐至两位,不足位置用空格。
linux 中 -C是什么意思?
首先介绍一个名词“控制台(console)”,它就是我们通常见到的使用字符操作界面的人机接口,例如dos。我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令,例如dos命令就是控制台命令。我们现在要了解的是基于Linux操作系统的基本控制台命令。有一点一定要注意,和dos命令不同的是,Linux的命令...