来一发linux shell利用if时判别参数先容
为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的。shell编程中利用到得if语句内判别参数
Cb当file存在而且是块文件时前往真
-c当file存在而且是字符文件时前往真
-d当pathname存在而且是一个目次时前往真
-e当pathname指定的文件或目次存在时前往真
-f当file存在而且是正轨文件时前往真
-g当由pathname指定的文件或目次存在而且设置了SGID位时前往为真
-h当file存在而且是标记链接文件时前往真,该选项在一些老体系上有效
-k当由pathname指定的文件或目次存在而且设置了“粘滞”位时前往真
-p当file存在而且是命令管道时前往为真
-r当由pathname指定的文件或目次存在而且可读时前往为真
-s当file存在文件巨细年夜于0时前往真
-u当由pathname指定的文件或目次存在而且设置了SUID位时前往真
-w当由pathname指定的文件或目次存在而且可实行时前往真。一个目次为了它的内容被会见一定是可实行的。
-o当由pathname指定的文件或目次存在而且被子以后历程的无效用户ID所指定的用户具有时前往真。
UNIXShell内里对照字符写法:
-eq即是
-ne不即是
-gt年夜于
-lt小于
-le小于即是
-ge年夜于即是
-z空串
=两个字符相称
!=两个字符不等
-n非空串
-------------------------------------------------------------------------
更加具体的申明:
运算符形貌示例
文件对照运算符
-efilename假如filename存在,则为真[-e/var/log/syslog]
-dfilename假如filename为目次,则为真[-d/tmp/mydir]
-ffilename假如filename为惯例文件,则为真[-f/usr/bin/grep]
-Lfilename假如filename为标记链接,则为真[-L/usr/bin/grep]
-rfilename假如filename可读,则为真[-r/var/log/syslog]
-wfilename假如filename可写,则为真[-w/var/mytmp.txt]
-xfilename假如filename可实行,则为真[-L/usr/bin/grep]
filename1-ntfilename2假如filename1比filename2新,则为真
filename1-otfilename2假如filename1比filename2旧,则为真
字符串对照运算符(请注重引号的利用,这是避免空格侵扰代码的好办法)
-zstring假如string长度为零,则为真[-z$myvar]
-nstring 
12下一页
买一本命令参考手册是必要的,遇到不知道怎么用的命令可以随时查询,这要比查man文档快.特别适合英语不好。
来一发linux shell利用if时判别参数先容
在linux中学习命令的最好办法是学习Shell脚本编程,Shell脚本比起其他语言来学习简单,但是功能却十分强大.通过学习Shell编程,能让你掌握大量的linux命令。;假如string长度非零,则为真[-n$myvar]</P> string1=string2假如string1与string2不异,则为真[$myvar=onetwothree]
string1!=string2假如string1与string2分歧,则为真[$myvar!=onetwothree]
算术对照运算符
num1-eqnum2即是
num1-nenum2不即是
num1-ltnum2小于
num1-lenum2小于或即是
num1-gtnum2年夜于
num1-genum2年夜于或即是
剧本示例:
#!/bin/bash
#Thisscriptprintsamessageaboutyourweightifyougiveityour
#weightinkilosandhightincentimeters.
if[!$#==2];then
echo"Usage:{GetProperty(Content)}weight_in_kiloslength_in_centimeters"
exit
fi
weight="{GetProperty(Content)}"
height="$2"
idealweight=$[$height-110]
if[$weight-le$idealweight];then
echo"Youshouldeatabitmorefat."
else
echo"Youshouldeatabitmorefruit."
fi
#weight.sh70150
Youshouldeatabitmorefruit.
#weight.sh7015033
Usage:./weight.shweight_in_kiloslength_in_centimeters
地位参数{GetProperty(Content)},$2,...,$N,$#代表了命令行的参数数目,{GetProperty(Content)}代表了剧本的名字,
第一个参数代表{GetProperty(Content)},第二个参数代表$2,以此类推,参数数目的总数存在$#中,下面的例子显现了怎样改动剧本,假如参数少于大概过剩2个来打印出一条动静。
实行,并检察情形。
#bash-xtijian.sh60170
+weight=60
+height=170
+idealweight=60
+
+echoYoushouldeatabitmorefat.
Youshouldeatabitmorefat.
个中-x用来反省剧本的实行情形
</p>上一页12
无论图形界面发展到什么水平这个原理是不会变的,Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作。 任何一个叫做操作系统的工具都是这样子构成的:内核+用户界面+一般应用程序。 掌握硬件配置,如显卡,声卡,网卡等,硬件只要不是太老或太新一般都能被支持,作为一名Linux系统管理员建议多阅读有关硬件配置文章,对各种不支持或支持不太好的硬件有深刻的了解。 发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。 我们这一代90后,从小接触的是windows98,家里条件好的自己有电脑装的是2000,后来又有了XP,上大学时又有了win7。 感谢老师和同学们在学习上对我的帮助。 下面看看一个让人无法回答的问题:“救命各位高手,向你们请教一些问题:如何在Linux下配制HTTP、FTP、Samba、DNS、DHCP、Sendmail服务器,谢谢”这样的问题。 随着实验课程的结束,理论课也该结束了,说实话教OS的这两位老师是我们遇到过的不错的老师(这话放这可能不太恰当). 老实说,第一个程序是在C中编译好的,调试好了才在Linux下运行,感觉用vi比较麻烦,因为有错了不能调试,只是提示错误。
页:
[1]