博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux 学习笔记四
阅读量:4646 次
发布时间:2019-06-09

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

linux 学习笔记四

shell 执行过程

shell

bash 类型

Login Bash

Interactive Bash

shell 执行

• 父 shell Fork 一 sub-shell

• Sub-shell继承父shell环境
• Sub-shell调用指定的解释器解释执行该脚本
• Sub-shell退出,相关环境被销毁
• 父 shell 取得 sub-shell 的退出状态

shell 解析

1 、 brace expansion (花括号扩展)

2 、 tilde expansion (波浪线扩展)
3 、 parameter, variable expansion (变量扩展)
4 、 arithmetic expansion (算术扩展)
5 、 command substitution (命令替换)
6 、 word splitting (词的拆分)
7 、 pathname expansion (路径名扩展)

Bash 语法

变量

• 变量赋值: name=value

• 变量引用: ${name}

合法的变量名: 字母、下划线、数字

注意:
– = 号两边不允许空格
– $name 是 ${name} 的简写

常用变量

353434-20190917130445672-1586891585.png

353434-20190917130428378-2033295166.png

数值计算

      • / % ( 加 , 减 , 乘 , 除 , 取模 )

i=10; j=20;

(( i++ ))
(( cnt=i+j))
cnt=$(( i+j)) (( k = i * j ))
(( k = j / i ))
(( k = j % i ))

流程控制

提交判断:

– if

– && 与 ||
– case

循环:

– for, while

– break, continue

# if elseif expression; then...if [[ -f /etc/SuSE-release ]]; thenelif  expression;  thenecho SUSE OS ...elseelif [[ -f /etc/slackware-version ]]; then   echo Slackware OSelse   echo “Redhat ?”fi# && ||[[ -z $default ]] && default=”ok”[[ -n $default ]] || default=”ok”# case case $var in   condition1)     ...     ;;   condition2)    ... ;;   *)    ... ;;esac  # for  for var in item1 item2 ... itemNdo    command1    command2    ...    commandNdone# while while conditiondo    commanddone

函数

shell中函数的定义格式如下:

[ function ] funname [()]{    action;    [return int;]}

说明:

1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255)

转载于:https://www.cnblogs.com/SLchuck/p/11533087.html

你可能感兴趣的文章
PowerDesigner 中将Comment(注释)及Name(名称)内容互相COPY的VBS代码
查看>>
luacom cygwin
查看>>
浅谈WPF的VisualBrush
查看>>
CSS------当内容超出div宽度后自动换行和限制文字不超出div宽度和高度
查看>>
经常用得到的安卓数据库基类
查看>>
简单入门dos程序
查看>>
vue element 关闭当前tab 跳转到上一路由
查看>>
4、面向对象
查看>>
[NOI2005]聪聪与可可(期望dp)
查看>>
POJ 3723
查看>>
Maven的安装
查看>>
angular初步认识一
查看>>
springmvc3.2+spring+hibernate4全注解方式整合(一)
查看>>
Elgg网站迁移指南
查看>>
素数筛法优化
查看>>
installshield 注册dll
查看>>
Sublime Text 3 及Package Control 安装(附上一个3103可用的Key)
查看>>
LTE QCI分类 QoS
查看>>
Get MAC address using POSIX APIs
查看>>
bzoj2120
查看>>