仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1074|回复: 9
打印 上一主题 下一主题

[shell编程] 给大家带来shell变量的特别用法

[复制链接]
变相怪杰 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:14:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!假定我们界说了一个变量为:
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]有设定,t利用my.file.txt作传回值。(空值及非空值r不作处置)
${file:-my.file.txt}:假设$file]有O定或榭罩担t利用my.file.txt作骰刂怠(非空值r不作处置)
${file+my.file.txt}:假设$fileO榭罩祷蚍强罩担褂my.file.txt作骰刂怠(]O定r不作处置)
${file:+my.file.txt}:若$file榉强罩担t利用my.file.txt作骰刂怠(]O定及空值r不作处置)
${file=my.file.txt}:若$file]O定,t利用my.file.txt作骰刂担r$filex值my.file.txt。(空值及非空值r不作处置)
${file:=my.file.txt}:若$file]O定或榭罩担t利用my.file.txt作骰刂担r$filex值my.file.txt。(非空值r不作处置)
${file?my.file.txt}:若$file]O定,tmy.file.txt出至STDERR。(空值及非空值r不作处置)


${file:?my.file.txt}:若$file没设定或为空值,则将my.file.txt输入至STDERR。(非空值r不作处置)
${#var}可盘算出变量值的长度:

${#file}可失掉27,由于/dir1/dir2/dir3/my.file.txt是27个字节
欢迎大家来到仓酷云论坛!
小魔女 该用户已被删除
沙发
发表于 2015-1-15 07:07:44 | 只看该作者

给大家带来shell变量的特别用法

高手云集果断围观
莫相离 该用户已被删除
板凳
发表于 2015-1-17 20:10:06 | 只看该作者
我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2000,后来又有了XP,上大学时又有了win7。
乐观 该用户已被删除
地板
发表于 2015-2-5 05:54:02 | 只看该作者
现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。
透明 该用户已被删除
5#
发表于 2015-2-11 07:30:43 | 只看该作者
任何一个叫做操作系统的东西都是这样子构成的:内核+用户界面+一般应用程序。
冷月葬花魂 该用户已被删除
6#
发表于 2015-3-2 00:55:36 | 只看该作者
现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。
老尸 该用户已被删除
7#
发表于 2015-3-11 03:58:14 | 只看该作者
主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。
分手快乐 该用户已被删除
8#
发表于 2015-3-17 22:09:26 | 只看该作者
目前全球有超过一百多个Linux发行版本,在国内也能找到十几个常见版本。如何选择请根据你的需求和能力,RedhatLinux和DebianLinux是网络管理员的理想选择。
第二个灵魂 该用户已被删除
9#
发表于 2015-3-17 22:09:26 | 只看该作者
就这样,我们一边上OS理论课,一边上这个实验,这样挺互补的,老师讲课,一步一步地布置任务
飘飘悠悠 该用户已被删除
10#
发表于 2015-3-25 08:18:59 | 只看该作者
Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-28 07:26

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表