linux shell(一) helloWorld

公司上周需求编写一个自动切换IP的脚本,感觉linux shell也是极其好玩的,也学到了很多东西,暂且做些许简单记录。

推荐参考:图灵丛书-Linux Shell脚本攻略
其他参考:http://man.linuxde.net/shell-script

1.
chmod 777 script.sh
./script.sh
;等同于 enter键

2.打印
echo xx
printf: 类似c语言

3.变量/环境变量
cat /proc/ PID/environid:grepvar=valueecho var
echo ${var}

#!/bin/bash
#这是注释
fruit=apple
count=5
echo "we have $count ${fruit}(S)"

添加环境变量:
PATH=”$PATH: /home/user/bin”
export path

获取字符串长度:
var=ashdhasdhabsjd
echo ${#var}
4.数学运算
let result=var1+var2
let result++
let result–
也可以:result=$[var1+var2]
以上方法仅限整数运算,浮点数用bc工具
5文件描述符和重定向
清空写入:echo “this is a sample text 1” >temt.txt
追加:echo “this is a sample text 1” >>temt.txt
6.数组与关联数组

arr=(1 2 3)
arr[0]="test1"
arr[1]="test2"
index=5
echo  ${arr[$index]}
echo ${arr[*]}
echo ${#arr[*]}

7.about 日期

$date  "+%d  %B  %Y"
20 May 2010
其他日期参考字符串列表

设置日期:
date -s "格式化日期字符串"
date -s "20 June 2009 11:01:22"

延时:sleep 10

8.函数

fname arg1 arg2;

fname(){
 echo $ 1,$2;  #访问参数1,参数2
 echo "$@" ;   #列表形式一次性打印所有参数
 echo "$*";  #类似$@,但是参数被作为单个实体
 return 0;  #返回值
}

9.迭代器

for i in{a..z};
 do actions;
done;

也可以像c语言一样
for((i= 0;i<10;i++)){
    commands; #使用变量i
}

while condition
do
    commands;
done

10.比较测试

if condition;
then
commands;
fi

###
if condition;
then 
commands;
elif condition;
then
    commands
else
    commands
fi

算术比较:-gt大于,-lt小于,-ge大于等于,-le小于等于,-ne不等于
逻辑与-a,逻辑与-o
[$var -eq 0] or [ $var -eq 0]
[$var1 -ne 0 -a $var2 -gt 2]
             -o
字符串比较用==
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值