shell脚本检测一行数据以什么结尾
A. 编写Shell脚本---接受、判断用户参数
[TOC]
如果想查看当前所在工作路径并列出当前目录下所有的文件及属性信息,实现这个功能的脚本如下:
Shell脚本文件的名称可以任意,但为了避免被误以为是普通文件,建议将 .sh 后缀加上,以表示是一个脚本文件
在上面的 example.sh 脚本中出现了三种不同的元素:
执行脚本有两种方式:
各变量的作用:
用测试语句测试一个文件是否为目录,然后通过 Shell 解释器内设 $? 变量显示上一条命令的返回值
在Shell终端中逻辑“与”的运算符号是 && ,它表示当前面的命令执行成功后才执行后面的命令
等号两边必须要有空格,才能进行逻辑等于
它表示把条件测试中的判断结果取相反值
整数比较运算符仅对数字操作,且不能使用等号、大于号、小于号来判断。因为等号与赋值命令符冲突,大于号和小于号分别与输出重定向和输入重定向命令符冲突。因此一定要使用规范的整数比较运算符进行操作。
示例:使用 free -m 命令查看内存使用量情况(单位MB),然后通过 grep Mem: 命令过滤出剩余内存量的行,使用 awk'{print $4}' 命令只保留第四列,最后用 FreeMem=`语句` 的方式把语句内执行结果复制给变量
示例1 :判断String变量是否为空,进而判断是否定义了这个变量
示例2 :引入逻辑运算符,判断语系LANG
B. 请教会linux shell脚本的=~是什么意思
应该是正则表达式的字符判断
if [[ $i =~ ^[0-9]+$ ]] && echo 1
1、^是匹配字符串开始的意思,[0-9]只要不是数字都不要。
2、~ +的意思的^[0-9]的范围里匹配一次以上+ $是匹配结束符。
touch -t "201109021200.00" tempfile
使用引号内的时间戳在当前目录建立一个叫tempfile的文件
find -name "*VIRTUALID*" -newer tempfile -exec cp {} /home/wbft/luo ;
(2)shell脚本检测一行数据以什么结尾扩展阅读:
实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。
Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。
C. shell脚本 ,如果用 for in 语句,读取一行内容,急用,请高手回答。 for file in `ls -l --full-time ·
#!/bin/sh
#设置IFS环境变量,这个变量是用来定义分隔符类型的。默认的分隔符为空格、换行符、tab。
#在你的需求中,只需要设置IFS变量的内容为换行符。
#先存储IFS默认值
IFS_old=$IFS
IFS=$'\n'
for line in $(ls -l --full-time)
do
echo $line
done
#将IFS变量还原为默认值
IFS=$IFS_old
D. shell脚本如何提取ip地址最后一位,如192.168.1.100中的100
ipAddr=192.168.1.100
echo${ipAddr##*.}
这样就提取出了100。
Bash中字符串的掐头去尾方法:
# 表示掐头,% 表示去尾
助记:键盘上# 在前面,键盘上% 在后面。
单个#或%的表示最小匹配,双个#或%表示最大匹配。
也就是说,当匹配有多种方案的时候,选择匹配最大长度还是最小长度。
用awk也可以:
ifconfigeth0|awk'/inetaddr/{print$2}'|awk-F.'{print$NF}'