Linux学习笔记
2022-2-22
【1】seq 命令 seq 1 2 10 从1开始,2为长度,输出至10结束。 1:开始位置 2:步进长度 10:结束位置
【2】tr 命令 echo "i am js10" | tr a-z A-Z 将小写文字全部转换成大写。 a-z 任意小写 A-Z 任意大写 0-9 任意数字 echo "I AM JS10" | tr -d "AM" tr命令 后加 -d 表示删除后面引号里的内容,印号里面可以使空格。
2022-2-24
[root@basenode ~]# echo 'my name is $name' my name is $name [root@basenode ~]# echo "my name is $name" my name is bob 单引号不会解释变量name,所见即所得。 双引号会解释印号中的变量name。
[root@basenode ~]# pwd /root [root@basenode ~]# name=$(pwd) [root@basenode ~]# echo $name /root [root@basenode ~]# name=`pwd` [root@basenode ~]# echo $name /root 将命令赋值给变量,需要加反引号,或者$()。
[root@basenode ~]# date Thu Feb 24 15:25:32 CST 2022 [root@basenode ~]# date +%F 2022-02-24 [root@basenode ~]# date +%T 15:26:09 显示当前日期、时间。
name [root@basenode ~]# echo $name /root [root@basenode ~]# unset name [root@basenode ~]# echo $name unset命令是删除变量值。
删除后变量值为空,无法使用。
unset命令不能删除只读变量的值。
[root@basenode ~]# readonly name=ken #readonly+变量名,是定义只读变量
[root@basenode ~]# echo $name
ken
[root@basenode ~]# unset name
-bash: unset: name: cannot unset: readonly variable
[root@basenode ~]# [ 1 -eq 1 ] && echo "1" 1 [root@basenode ~]# [ 1 -eq 2 ] && echo "1" [root@basenode ~]# [ 1 -eq 2 ] && echo "1" || echo "0" 0 [root@basenode ~]# [ 1 -eq 2 ] || echo "0" 0 1=1,表达式为真时,输出1。 1=2,表达式为假时,不输出1。 1=2,表达式为真时,输出1,假则输出0。 1=2,表达式为假时,输出0。
&&前的表达式为真时,执行后面的语句。
||前的表达式为假时,执行后面的语句。
2022-3-3
输出九九乘法表
#!/bin/bash for i in `seq 9` do for a in `seq 9` do if [ $a -le $i ];then echo -n "$a*$i=$((a*i)) " fi done echo done [root@basenode ~]# bash jiu.sh 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
持续监控内存剩余量 #!/bin/bash while true do free=$(free -h | grep "Mem" | cut -d "M" -f 4 | tr -d " ") if [ $free -lt 500 ];then mail -s "当前内存剩余低于预警值!" break fi done

浙公网安备 33010602011771号