Shell快速入门
1 快速入门&& 、|| 、&>、which、&?
ping -c1 www.baidu.com &>/dev/null && echo "ping chenggong " || echo "ping shubai "
echo $?
&> 是混合输出,包括标准输出和混合输出
&& 表示与,加入前面的命令执行成功,那么才执行 &&后面的
|| 表示非,只有前面的命令执行失败才执行 ||后面的命令
**$?**表示上一个命令的执行结果
- 0 成功
- 1 失败
#!/bin/bash # 指定解释器的类型,这里并不是注释 which python 查看执行命令的解释器全路径 which bash which perl
注意:不同的重续需要使用不同的解释器去执行
2 如何在shell中嵌入python代码并执行
#!/bin/bash
ping -c1 www.baidu.com &>/dev/null || echo "is done and success!"
#明确将<<-EOF EOF中的代码交给Python的解释器执行,cat等操作也是适用的
/Users/shufang/opt/anaconda3/bin/python <<-EOF
print("hello python")
print("good python")
EOF
/bin/cat <<-SHUFANG
123
456
SHUFANG
echo "bash is over"
3 常用shell通配符
ls ./*.txt. #列出所有以.md结尾的文件,*代表匹配任意多个字符
? touch love loove live l7ve; ls l?ve #代表匹配任意一个字符,与*不一样,*可以代表任意占位数
ls *.s[a-z] #只匹配a-z中的一个字符,还可以是[a-zA-Z0-9]\[abc]
(cd /User/shufang/Desktop;ls -ahl) #代表代表一个子shell
touch file{1..9} # 创建9个文件 file1 ----- file9
4 echo 带颜色打印
echo -e "\e[1;31mTHISISMYTEXTMSG \e[0m" # 颜色打印,THISISMYTEXTMSG之后的取消颜色
echo -e "\e[0m" #取消颜色打印