linux Shell

来源:互联网 发布:千牛怎么没有mac版 编辑:程序博客网 时间:2024/05/18 01:27
详情请参考:http://www.runoob.com/linux/linux-shell-basic-operators.html

Shell:
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

Shell的种类很很多,我们使用的是/bin/bash

Shell的声明:
#! /bin/bash
#! 代表shell类型的shengm,写在.sh的开头
变量:
变量一般前面不加$来命令
$变量 代表变量的值
如:name="hello" echo $name
shell的运行:
第一种:
./shell文件 ----------------->此方法需要执行权限,chmod +x shell文件
第二种:
sh ok.sh(shell文件)-------->不需要权限修改,可以直接运行
shell接收参数:
$1,$2,$3,$4.............
注意:一般数字>=1
当数字>=10时,需要 写成${10}
$0 程序名称
$@ 和 $* : 参数列表
read:
read a read b
readonly 修饰变量,成为常量
例如: n=90
readonly n
单引号'' 双引号"" 倒单引号``
单引号写变量的输出,不起作用,输出原本内容
双引号输入变量
在双引号里使用倒单引号,输出命令,在单引号中使用倒单引号,原样输出
运算父符:
算术运算符:
echo $[4+6]

n=34
m=45
echo $[n+m]

echo $[5*2]


条件运算符:
方式一:
if [ 4 \> 2 ]
then
echo "hello"
fi
方式二:
if test 4 \> 2
then
echo "world"
fi

数组:
只有一维数据,没有多维数组
arr=(6 8 9 5)
${arr[index]}
${#arr[@]} ----------------->数组长度
arr=(4 5 6 7 8)
echo ${arr[0]} -------------->取值
echo ${#arr[@]}------------->数组长度

for循环
方式一(类似foreach):
for i in ${arr[@]}
do
echo $i
done
方式二(常规for循环):
for((i=0;i<${#arr[@]};i++))
do
echo "${arr[i]}"
done
方式三:
for i in 77 888 99 555
do
echo $i
done

方式四:
for i in `seq 43 58`
do
echo $i
done
expr: 作用相当与[] 和 test
echo `expr 4 \* 5`
[条件表达式] : 判断
test 条件表达式
$[表达式] 运算的值---------------------------------->取值
while循环:
方式一
s=0
while ((s \< 10 ))
do
echo $s
let "s++"
done
方式二:
ss=0
while [ $ss -lt 10 ]
do
echo $ss
let "ss++"
#i=$[$ss+1]
done

函数:
functions 名称(){

[return]
}

调用:函数名称 注意不带"()"
$? : 取函数的返回值
原创粉丝点击