shell (20230409)
1 保留输出文本的空格或者换行符,要在输出的变量添加双引号
[root@spark10 home]# cat count.txt
5
6
7
9
[root@spark10 home]# out=$(cat count.txt)
#echo 输出不带双引号,换行符被去掉了
[root@spark10 home]# echo $out
5 6 7 9
#echo 输出带双引号,保留换行符
[root@spark10 home]# echo "$out"
5
6
7
9
[root@spark10 home]#
2 read的用法
#!/bin/bash
#用不回显的方式读取密码:
read -s var
#显示提示读取密码:
read -p "Enter input:" var
3 逻辑运算符
[ condition ] && commands ; # 如果condition为真,则执行commands
[ condition ] || commands ; # 如果condition为假,则执行commands
$$ 逻辑与
|| 逻辑或
-eq 等于
-ne 不等于
-gt : 大于
-lt : 小于
-le :小于或者等于
-ge : 大于或者等于
-d : 判断目录是否存在
-f : 判断为念是否存在
-z : 空字符串
-a : and 两个条件都成了才为真
-o : or 有一个条件成立即为真
4 test命令
用法:用于执行条件检测,减少[ ]的使用;
例如:
[root@spark10 ~]# if [ $s -ne 0 ];then echo "s不等于0"; fi
可以使用test替换
if test $s -ne 0;then echo "s不等于0"; fi
5 cat命令
1、压缩空白行
cat -s test.txt
或者
cat test.txt | tr -s '\n'
这里tr是将多个’\n’压缩成一个’\n’(换行符)
2、添加行号(-n 参数)
[root@spark10 linux_test]# cat -n test.sh1 #!/bin/bash2 #用不回显的方式读取密码:3 read -s var4 #显示提示读取密码:5 read -p "Enter input:" var6