*************************************************************************
^ 表示开头 ------------------- “在awk这个命令中”-------------------- $ 表示结尾
一、当前网络公网ip:curl -s http://httpbin.org/ip
二、开机加载的配置文件 (可以将需要执行的脚本写在任意一个目录下,他们只是优先级不同而已,开机之后都是会执行的)
eg:
在 /etc/profile.d/ 创建一个脚本文件 sl.sh 在里面写sl 则开机就会执行小火车,呜呜呜。。。。。。。
三、-控制用户可不可登录
----------------------------------------------------
四、以冒号为分隔符,打印第一列 cat /etc/passwd | cut -d: -f1
ip -f inet a show dev ens33 | awk '/inet/{print $2}' | cut -d/ -f1
五、` ` == $( )
=========================================================================
注意:这个反向单引号要好好运用,如果把命令写在里面,那么就是说明里面是一个整体,一起执行然后会有执行的结果,例如:
echo "该公网ip是:" `curl -s http://httpbin.org/ip | awk -F: 'NR==2{print $2} ' |cut -d\" -f2 `
=========================================================================
六、^-^ -s就是这么牛 ^-^
curl -s是Linux系统中使用curl命令的一个选项。-s选项代表“silent”或者“quiet”,它的作用是让curl在执行HTTP请求时不显示进度条或错误信息,只显示请求的结果。这在使用curl进行脚本编程时非常有用,因为可以让输出结果更加清晰。
举个例子,如果你想使用curl获取一个网页的内容,但不想显示任何进度信息,可以这样使用:
curl -s http://example.com
编辑每个脚本的时候开头显示的东西
cat > /root/.vimrc << EOF
set ignorecase
set cursorline
set autoindent
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()
if expand("%:e") == 'sh'
call setline(1,"#!/bin/bash")
call setline(2,"#")
call setline(3,"#**************************************")
call setline(4,"#Author: liujie")
call setline(5,"#QQ: 945225432")
call setline(6,"#Date: ".strftime("%Y-%m-%d"))
call setline(7,"#FileName ".expand("%"))
call setline(8,"#**************************************")
call setline(9,"")
endif
endfunc
autocmd BufNewFile * normal G
EOF
七、日期显示几月几号(前面没有01)
date +%-m/%d
八、查看操作系统版本
cat /etc/centos-release
待补充===========================================???????????????
平均负载:
九、位置变量的默认值
echo我的第一个位置参数是:$1
echo我的第二个位置参数是:$2
echo 我的第三个位置参数是:$3
echo我的第四个位置参数是:$4
echo一共有$#个位置参数, echo 你输入的参数分别是:$*
1.在脚本执行四则运算
sh test.sh 2 3 结果为:5
2、测试安装nginx版本号
如果不输入版本号的话,就会安装:- 之后所写的版本,也就是默认值
延时
注意:将 -t 3 写在 -p 之前,这应该是一个bug
取消屏幕回显
提示:这也就是在真虚拟机输入密码时,不显示明文密码 ,用的是一个原理
十、子/本 shell
比如说你创建了个脚本 test.sh,目前位置在/root下
内容为;
sh和bash source和 .
解释:shell环境分两个,子shell和父shell,在命令行执行的时父shell,执行里面的脚本的时候会产生一个新的环境成为子shell,而sh和bash的子shell环境不会影响到父shell的执行环境,所以位置不会变,还在根下
反之,source 和 . 相反。
./ 是独一份,虽然子shell不会影响到本shell,但是也有区别。
十一、exit 返回值 与echo $? 之间的关联
exit 200
如果把脚本写在/opt下面,切换到普通用户,肯定会返回一下结果 然后使用echo $?显示上一条命令是否执行成功,应该时0才对,但是这里设置了返回值为200,所以返回200才是对的。