linux shell(一) helloWorld

来源:互联网 发布:熟悉office办公软件 编辑:程序博客网 时间:2024/06/05 16:32

公司上周需求编写一个自动切换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=valueechovar
echo ${var}

#!/bin/bash#这是注释fruit=applecount=5echo "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=5echo  ${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 conditiondo    commands;done

10.比较测试

if condition;thencommands;fi###if condition;then commands;elif condition;then    commandselse    commandsfi算术比较:-gt大于,-lt小于,-ge大于等于,-le小于等于,-ne不等于逻辑与-a,逻辑与-o[$var -eq 0] or [ $var -eq 0][$var1 -ne 0 -a $var2 -gt 2]             -o字符串比较用==
原创粉丝点击