shell脚本学习笔记
2017-10-31 22:40
369 查看
echo "name 'YUYUFEN'"
echo -n "name :";不换行
可以用
set命令来显示一份完整的当前环境变量列表
有两种方法可以将命令输出赋给变量
``
$()
wc
q
文本的行数
q
文本的词数
q
文本的字节数
内联输入重定向(inline
input redirection)
$wc << EOF
> test string 1
> test string 2
> test string 3
> EOF
expr 5 * 2
在bash中,在将一个数学运算结果赋给某个变量时,可以用美元符和
方括号($[ operation ])将数学表达式围起来
bc访问shell的计算器
quit退出
浮点运算是由内建变量scale控制的。必须将这个值设置为你希望在计算结果中保留的小数位数,否则无法得到期望的结果
shell脚本中使用bc
variable=$(echo"options; expression" | bc)
var1=$(echo "scale=4; 3.44 /5" | bc),保留4位小数的浮点计算结果
Linux提供了一个专门的变量$?来保存上个已执行命令的退出状态码。
shell中运行的每个命令都使用退出状态码(exit
status)告诉shell它已经运行完毕。退出状态 码是一个0~255的整数值,在命令结束运行时由命令传给shell
你可以改变这种默认行为,返回自己的退出状态码。exit命令允许你在脚本结束时指定一
个退出状态码。
exit 5;
exit $var1
$ echo $? 为5
bash shell的if语句会运行if后面的那个命令。如果该命令的退出状态码(参见第11章)是0
(该命令成功运行),位于then部分的命令就会被执行。如果该命令的退出状态码是其他值,then
部分的命令就不会被执行,bash shell会继续执行脚本中的下一个命令
10.31
if
后面跟普通的shell命令,如果返回0,那么执行then,如果执行错误,则else
if
对其它条件的判断,可以考虑
test conditionj
[ condition ],[加空格]
复合条件
[ condition1 ] && [ condition2 ]
两个条件都成立,执行then之后的
[ condition1 ] || [ condition2 ]
只要其中一个成立
((
expression ))
expression可以是任意的数学赋值或比较表达式
[[
expression ]]
双方括号里的expression使用了test命令中采用的标准字符串比较。但它提供了test命令未提供的另一个特性——模式匹配(pattern
matching)。
比如:if [[ $USER == r* ]],以r开头的字符串
case
variable
in
pattern1
| pattern2)
commands1;;
pattern3)
commands2;;
*)
default commands;;
esac
echo -n "name :";不换行
可以用
set命令来显示一份完整的当前环境变量列表
有两种方法可以将命令输出赋给变量
``
$()
wc
q
文本的行数
q
文本的词数
q
文本的字节数
内联输入重定向(inline
input redirection)
$wc << EOF
> test string 1
> test string 2
> test string 3
> EOF
expr 5 * 2
在bash中,在将一个数学运算结果赋给某个变量时,可以用美元符和
方括号($[ operation ])将数学表达式围起来
bc访问shell的计算器
quit退出
浮点运算是由内建变量scale控制的。必须将这个值设置为你希望在计算结果中保留的小数位数,否则无法得到期望的结果
shell脚本中使用bc
variable=$(echo"options; expression" | bc)
var1=$(echo "scale=4; 3.44 /5" | bc),保留4位小数的浮点计算结果
Linux提供了一个专门的变量$?来保存上个已执行命令的退出状态码。
shell中运行的每个命令都使用退出状态码(exit
status)告诉shell它已经运行完毕。退出状态 码是一个0~255的整数值,在命令结束运行时由命令传给shell
你可以改变这种默认行为,返回自己的退出状态码。exit命令允许你在脚本结束时指定一
个退出状态码。
exit 5;
exit $var1
$ echo $? 为5
bash shell的if语句会运行if后面的那个命令。如果该命令的退出状态码(参见第11章)是0
(该命令成功运行),位于then部分的命令就会被执行。如果该命令的退出状态码是其他值,then
部分的命令就不会被执行,bash shell会继续执行脚本中的下一个命令
10.31
if
后面跟普通的shell命令,如果返回0,那么执行then,如果执行错误,则else
if
对其它条件的判断,可以考虑
test conditionj
[ condition ],[加空格]
复合条件
[ condition1 ] && [ condition2 ]
两个条件都成立,执行then之后的
[ condition1 ] || [ condition2 ]
只要其中一个成立
((
expression ))
expression可以是任意的数学赋值或比较表达式
[[
expression ]]
双方括号里的expression使用了test命令中采用的标准字符串比较。但它提供了test命令未提供的另一个特性——模式匹配(pattern
matching)。
比如:if [[ $USER == r* ]],以r开头的字符串
case
variable
in
pattern1
| pattern2)
commands1;;
pattern3)
commands2;;
*)
default commands;;
esac
相关文章推荐
- Shell脚本学习笔记(五)--函数
- SHELL脚本,学习笔记
- Shell脚本学习笔记-运行控制
- Shell入门之脚本管理学习笔记
- 【Shell脚本学习指南笔记】重定向文件描述符 2>&1
- shell脚本交互:expect学习笔记及实例详解
- shell脚本的作用,shell脚本变量的定义和三种赋值方式【shell脚本的学习笔记一】
- Linux之ubuntu学习笔记(九):shell 脚本
- Shell脚本学习笔记(一)
- shell脚本编程之循环语句学习笔记
- Shell脚本学习笔记
- Shell脚本学习笔记-循环结构
- SHELL脚本攻略(学习笔记)--1.3 多命令逻辑执行顺序
- shell 脚本学习指南-笔记(二)
- shell脚本学习笔记
- shell脚本学习笔记之grep命令用法
- Shell脚本学习笔记(四)--流程控制
- 学习shell 与shell脚本 学习笔记
- Zynq-Linux移植学习笔记之22-Linux应用程序调用shell脚本
- shell脚本:test命令 if-then for while 学习笔记