Linux中shell编程基础
来源:互联网 发布:mac os最新版本是多少 编辑:程序博客网 时间:2024/06/13 01:05
本文转自http://blog.csdn.net/qq_34092336/article/details/78138524
欢迎大家阅读原文并点赞
1、执行shell脚本方法
. ./test.sh (需要给x权限)
./test.sh (需要给x权限)
sh shell.sh (不需要给x权限)
2、变量定义
STR=hello world ->echo $STR ->hello world
a=cc STR="hello $a" ->echo $STR ->hello cc
a=cc STR='hello $a' ->echo $STR ->hello $a
unset A //撤销变量A
A=`ll` 或者 A=(ll) //把ll的结果赋给A
3、特殊变量
$?:上一条命令的返回值,不成功为1
$n:第n个位置的参数
$#:参数的个数
$* 或 $@ :参数列表
--------------------下面是例子--------------------------------
#!/bin/bash
for i in $*
do
echo $i
done
输入什么将逐个逐行输出
4、变量运算
计算1+2:`expr 2 + 3` //expr后有空格,2后和+后有空格
多个变量: $((1+1)*2)
5、for循环
for i in 1 2 3
do
echo $i
done
-------------------用法分割线-----------------
for i in {1..3};do echo $i;done
-------------------用法分割线-----------------
for ((i = 0; i <= 5; i++))
do
echo "welcome $i times"
done
6、while
while condition
do
expression
done
-------------------用法分割线-----------------
i=1
while ((i<=3))
do
echo $i
let i++
done
7、case
case $1 in
start)
echo "starting"
;;
stop)
echo "stoping"
;;
*)
echo "Usage: {start|stop} “
esac
8、read命令-读取
read -p "please input your name:" name
echo $name
9、if
#!/bin/bash
read -p "please input your name:" NAME
#printf '%s\n' $NAME
if [ $NAME = root ]
then
echo "hello ${NAME}, welcome !"
elif [ $NAME = itcast ]
then
echo "hello ${NAME}, welcome !"
else
echo "SB, get out here !"
fi
10、判断语句
格式:[ condition ] //注意空格,非空返回true,空返回false,0为true,>1为false
[ condition ] && echo OK || echo notok //条件满足ok,不满足notok
常用判断条件:
= 字符串比较
-lt 小于
-le 小于等于
-eq 等于
-gt 大于
-ge 大于等于
-ne 不等于
-f 文件存在并且是一个常规的文件
11、自定义函数-不能接收参数
#!/bin/bash
function fSum()
{
echo $1,$2;
return $(($1+$2));
}
fSum 5 7;
echo $total,$?;
- Linux中shell编程基础
- Linux Shell 编程基础
- Linux Shell编程基础
- Linux Shell编程基础
- Linux Shell编程基础
- Linux Shell编程基础
- Linux Shell编程基础
- Linux Shell编程基础
- Linux Shell编程基础
- Linux / Shell编程基础
- Linux Shell编程基础
- Linux Shell编程基础
- Linux Shell编程基础
- Linux Shell编程基础
- Linux Shell编程基础
- Linux Shell编程基础
- Linux Shell编程基础
- Linux Shell编程基础
- java web分页bean
- CodeVS1243 网络提速【最短路分层思想】
- 费马小定理的思考与证明
- throw和throws区别
- Jzoj4439 不是回文串
- Linux中shell编程基础
- Linux 内核编译
- tomcat容器等级
- [高维前缀和] Codeforces 449D
- 剑指Offer——知识点储备-J2EE基础
- 模拟 666
- Linux高级文本处理命令
- [lcm] Qualcomm平台兼容多显示屏lcd的方法&并从lk传输到kernel过程
- hdu 6166 Senior Pan(多源最短路径)(二进制划分集合)