1、while [ $x -lt 10 ]
-lt less than 小于 -gt great than 大于 -ge great equal大于等于 -le less equal 小于等于 -eq equal 等于 shell中的比较不是使用简单的> = <等,而是用扩展符,如下所示: -eq //equal 等于 -ne //no equal 不等于 -gt //great than 大于 -lt // low than 小于 ge // great and equal 大于等于,注意没有"-" le //low and equal 小于等于,注意没有“-” 举例说: |
<< 就是制定了标识符的意思,比如 <<! a命令 b命令 c命令 ! 就是为了说这是一个整体 你可以理解和{} 一样 就是说层级一样
3、
linux之ls -l|grep "^-"|wc -l命令
ls -l |grep "^-"|wc -l
或
find ./company -type f | wc -l
ls -lR|grep "^-"|wc -l
ls -lR|grep "^d"|wc -l
说明:
ls -l
长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)
grep "^-"
这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d
wc -l
统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于
4、
linux shell cat(一)
5、
-e filename 如果 filename存在,则为真
-d filename 如果 filename为目录,则为真
-f filename 如果 filename为常规文件,则为真
-L filename 如果 filename为符号链接,则为真
-r filename 如果 filename可读,则为真
-w filename 如果 filename可写,则为真
-x filename 如果 filename可执行,则为真
-s filename 如果文件长度不为0,则为真
-h filename 如果文件是软链接filename1 -nt filename2 如果 filename1比 filename2新,则为真。
filename1 -ot filename2 如果 filename1比 filename2旧,则为真。
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
至于!号那就是取非了呗!
6、
shell 中 seq的用法总结
用法:seq [选项]... 尾数
或:seq [选项]... 首数 尾数
或:seq [选项]... 首数 增量 尾数
以指定增量从首数开始打印数字到尾数。
-f,--format=格式 使用printf 样式的浮点格式
-s,--separator=字符串使用指定字符串分隔数字(默认使用:\n)
-w,--equal-width 在列前添加0 使得宽度相同
--help 显示此帮助信息并退出
--version 显示版本信息并退出
如果省略了首数或者增量,则默认其值为1,即使这样尾数仍小于首数。
首数、增量和尾数均以浮点数形式解释。当首数小于尾数时增量一般为正值,
相反在首数大于尾数时增量一般为负数。
指定的格式必须适用于显示"double"类型的参数;当首数、增量和尾数均为指定
精确度的定点十进制数时默认为"%.精确度f",否则默认为"%g"。
从1循环到100的两种方法(bash 其它的shell没试过)
for x in `seq 1 100`;do echo $x;done
for x in {1..100};do echo $x;done
输出1-100中,不包含数字7,且不能被7整除的数
seq 100 | grep -v "7" | awk '$0%7!=0{print}'
另外,不用 seq 的话还可以这样:[root@ubuntu]# for i in {1..10};do echo $i;done1 和 10 之间是两个半角的点
7/
给你个全的,你在Linux环境下多试下就明白了:
$0 这个程式的执行名字
$n 这个程式的第n个@L_403_7@,n=1..9
$* 这个程式的所有参数,此选项参数可超过9个。
$# 这个程式的参数个数
$$ 这个程式的PID(脚本运行的当前进程ID号)
$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)
$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
$- 显示shell使用的当前选项,与set命令功能相同
$@ 跟$*类似,但是可以当作数组用
8/