博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux shell 总结
阅读量:5822 次
发布时间:2019-06-18

本文共 2950 字,大约阅读时间需要 9 分钟。

 

1、#!指定执行脚本的shell 如果不写的话,用系统默认的shell  s shell是所有linux ,unix都支持的2、#开始的行表示注释(不限于行首)命令建议写绝对路径执行:./example.shsh example.shdate +%F临时变量:shell内部定义的,范围程序本身永久变量:环境变量  $PATH :默认搜索路径,环境变量$LANG 当前支持的语言环境$SHELL 当前shell$PS1变量以字母和下划线开头,区分大小写,一般都为大写注意:变量赋值时等号两边没有空格TIME=$(data+%F) <==> TIME=`data+%F)`当字符串中间有空格时需要用引号引起来,没有则可以不用引echo NAME = 'songjiankang'双引号中变量的值会解析,单引号中的则不会set 查看环境变量和自定义变量删除变量:unset NAME变量只有在使用的时候才会加 "$"特殊的变量:位置变量 命令$0,  后面$1~9 是在脚本执行的时候后面传进去的echo $?  如果为0执行成功,如果非0,有问题  (上一个命令执行的返回值)$*  这个程序的所有参数$#    这个程序的参数个数$$    执行这个脚本程序的PID$! 执行上一个后台命令的PID$?    执行上一个命令的返回值注意:这些变量都是在脚本中用的$# is : 2$* is : a b$? is : 0$$ is : 3765$0 is : demo.sh把需要执行的放到shell脚本中,然后计划任务去执行脚本read  从键盘读入数据,赋值给变量脚本测试:read one two three #一个变量名或多个变量名echo 'first--'$oneecho 'two  --'$twoecho 'three--'$threesh -x read.sh 调试 显示代码执行的过程 sh -n read.sh 检测语法错误如果参数过少,后面的参数接到的空,如果输入的参数过多,会把多余的参数都放到最后一个参数里变量的算数运算 expr 对整数进行运算,舍去法取整  注意: expr 3 + 8 运算符两边是有空格的注意乘号需要转义  expr 2 \* 3var7=expr `expr 9 + 5`/$var4      变量参数语句:参数变量是否相等,是否为空,文件类型test str1 = str2  #注意两边有空格test str1 != str2if [测试语句 ]; then  #注意 [] 两边必须有空格 ,then 如果和if在一行必须加分号    [code]else    [code]fi______________________________________________if [测试]     then    [code]elif []    then    [code]else    [code]fiexit 0  //退出脚本  0 表示正常退出,非0表示非常出退出————————————————————————————————————————————————————————for 变量 in 名字表do     命令列表doneawk:信息分段提取命令    #查找是root的用户    awk -F : '$3==0 {print $1}' /etc/passwd     #查找密码为空的用户    awk -F : 'length($2)==0 {print $1}' /etc/passwd grep  如果找不到的话会返回非零值_______________________________________________________ select 变量 in 名字表 #没有break则会一直循环do     命令列表    breakdone________________________________________________________op=$1case "$op" in#引号可有可无        stop)     #引号可有可无                echo "stop"                ;;        restart)                echo restat                ;;        *)                echo "usage:sdf"esac——————————————————————————————————————————————————————echo 123456 passwd --stdin mysql shift:参数左移函数增加了代码的可能性脚本可以让用户执行:sh方式: 1、对脚本有r权限2、对脚本所在目录有rx权限直接执行脚本方式: 1、对脚本有rx权限2、对脚本所在目录有rx权限———————————————————————————————————————————————————————检测nginx是否运行web=`pgrep nginx`if [ "$web" = "" ]then        echo "nginx is not running"else        echo "nginx is running。。。。"fi_____________________________________________________________________________________________________histor -c    清除历史!命令  执行离最近的那条以命令开头的命令set 查看所有变量env 查看全局变量echo "aaa${a}aaaaa"export 变量名 #使其成为全局的find /  搜索全部文件  for循环for((i=0;i<19;i++))do        echo $idonelet i++ 只能递增1______________________________________ll &>error.txt 错误和正确都输出到里~/.bashrc: 存放别名记录~/.bash_history  存放历史记录!ps #执行最近一次的以ps开头的命令修改 history 记录历史的长度:/etc/profile 中 HISTSIZE=1000 参数abc${song}def    #包含变量名export varname #把一个局部变量提升为一个全局变量cat <
/dev/nullecho $? #判断是否启动,返回值在mysqld中for((i=0;i<5;i++))do echo $i sleep 1done#纯数学运算的简写let i++i=$(($i+2)) 函数名 参数1 参数2 。。。。add(){ echo $1 echo $2}add 1 2add 2 3man test 查看test测试的用法

 

 

 

转载地址:http://uqfdx.baihongyu.com/

你可能感兴趣的文章
spring两大核心对象IOC和AOP(新手理解)
查看>>
数据分析相关
查看>>
Python LDAP中的时间戳转换为Linux下时间
查看>>
微信小程序蓝牙连接小票打印机
查看>>
环境错误2
查看>>
C++_了解虚函数的概念
查看>>
全新jmeter视频已经上架
查看>>
Windows 8下如何删除无线配置文件
查看>>
解决Windows 7中文件关联和打开方式
查看>>
oracle系列(五)高级DBA必知的Oracle的备份与恢复(全录收集)
查看>>
hp 服务器通过串口重定向功能的使用
查看>>
国外10大IT网站和博客网站
查看>>
android第十一期 - SmoothSwitchLibrary仿IOS切换Activity动画效果
查看>>
zabbix 批量web url监控
查看>>
MongoDB CookBook读书笔记之导入导出
查看>>
shell如何快速锁定所有账号
查看>>
HTML 5实现的手机摇一摇
查看>>
Linux 文件IO理解
查看>>
Ninject 2.x细说---2.绑定和作用域
查看>>
30个非常时尚的网页联系表单设计优秀示例
查看>>