@helen-
2019-03-14T03:08:42.000000Z
字数 1588
阅读 752
研究生学习
Linux基础
是一种交互式的脚本程序设计语言
shell: 外壳 通过shell操作内核
shell的操作 :应用软件 shell命令
交互式 : 每次执行一个shell命令都能得到一个回复
静态(脚本)语言不需要编译 直接解释执行
默认shell解释器 bash
shell工作原理
shell脚本的执行方式
# !/bin/bash 使用bash解释器
单行注释
#
多行注释
:<< !
注释内容
!
$ { NAME } ss 变量名最好大写
- 如果不用source执行,使用可执行权限去执行 可以使用export 全局变量 子进程全都可访问 ,父进程无法访问
所有类型都是字符串类型
unset 撤销变量
在A脚本中执行b.sh: source /root/bin/b.sh
不加source 无法打印(父进程+子进程)数据没有共享
export :设置全局变量
反引号 ``
a = ls -l/root/bin` 可以运 行反引号里面的命令 同时把结果返回给变量
或者 a =$(ls -l/root/bin)
文件运算符 -d -f等
三元表达式 ( ) && echo yes || echo no
为真 yes 为假 no
2. 分支运算
if [] #前后要有空格
then
echo
elif[]
then
echo
else
fi
while
do
done
case $a in
start)
echo " "
;;
stop)
echo " "
;;
*)
echo " "
esac
for 变量 in {1..50} # 从1-50
do
done
for ((i=0;i<2;i++))
do
done
mingxing=(1 2 3)
echo ${mingxing[0]}
echo ${mingxing[*]} #打印所有数组名
echo ${mingxing[*]:2:3} #从第2个数组开始打印3个
echo ${mingxing[*]:(-2)} #从倒数第二个开始打印所有数组
echo ${!mingxing[@]} #打印有值下标
echo${#mingxing[*]} #求数组实际长度
mingxing+=(4) #追加
for ip in${IP[*]}
do
echo $ip
done
function myfunc(){
}
myfunc # 把函数当成命令来操作
# 使用function定义 先定义再使用
# 命名规范
# shell函数本身不用声明传参,在使用直接传参 sh for.sh 1 2 3
# 把函数当命令执行
# 使用 $# 查看参数个数 使用$@接收所有参数内容 使用$?接收函数返回值