shell 脚本的符号含义

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 小于等于,注意没有“-”



举例说:
脚本名称叫test.sh 入参三个: 1 2 3
运行test.sh 1 2 3后
$*为"1 2 3"(一起被引号包住)
$@为"1" "2" "3"(分别被包住)
$#为3(参数数量)

2、 : << !    !
<< 就是制定了标识符的意思,比如
<<!
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(一)

cat主要有三大功能:1.一次显示整个文件。$ cat filename2.从键盘创建一个文件。$ cat > filename     只能创建新文件,不能编辑已有文件.3.将几个文件合并为一个文件: $cat file1 file2 > file
参数:-n 或 --number 由 1 开始对所有输出的行数编号-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行-v 或 --show-nonprinting例:把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。cat -b textfile1 textfile2 >> textfile3
cat /dev/null > /etc/test.txt  把test.txt文件扔进垃圾箱
 
 
 
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个参数值,n=1..9
$* 这个程式的所有参数,此选项参数可超过9个。
$# 这个程式的参数个数
$$ 这个程式的PID(脚本运行的当前进程ID号)
$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)
$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
$- 显示shell使用的当前选项,与set命令功能相同
$@ 跟$*类似,但是可以当作数组
 
 
 
8/
 
 
 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值