linux shell 基础学习1

 

linux编写的shell脚本需要用dos2unix 处理一下脚本,否则有些字符会出现问题。 #!/bin/bash

 

在linux执行脚本的时候经常错误:hello.sh: line 8: syntax error: unexpected end of file

 dos格式文件传输到unix系统时,会在每行的结尾多一个^M,

 因为文件格式的原因有时会导致我们的unix程序,或者shell程序出现错误,那么需要把这些dos文件格式转换成unix格式,方法是

vi  hello.sh         
:set fileformat=unix
:w 

  

1 test和 [] 作为判断命令符

2 $(())  数字运算 放到这个里面,保证运算 

   

 

for in遍历功能,自动对字符串按空格遍历 :

注意:在shell中$* 为shell中传入的所有参数。

 

1 遍历文本文件中的内容,然后输出 ,用 ``或 $()来讲一列数据变成一行,可以遍历 

   

for sh  in  `cat /web/sh/testid`
do
        echo $sh
done

 

2 遍历linux命令生成的数据: 命令用` 符号括起来 ,当然也可以换成$() 来代替`` 

for i  in  `ps -ef | grep hadoop | awk '{print $2}'`
do
        echo $i
done

 

3 遍历所有log文件内容,并打印 ,或者换成ls *.log 打印所有的文件名称

  

for j in $(cat *.log)
do
        echo $j 
done 

 

 

4 利用seq的数字格式化功能,批量创建一定格式的文件夹  %03意思是:3位浮点数  

  

 mkdir $(seq -f 'dir%03g' 1 10)

 

 

5 计数器使用 ,用let 

   

	num=0
	for i in $(seq 1 10)
	do
		let  num+=1
	done
	echo $num

 

6 计算累加数据用let

   

	num=0
	sum=0
	for i in $(seq 1 10)
	do
		let sum=$sum+$i
	done
	echo $sum

 

7 参数 $#表示脚本参数的个数  $*表示脚本参数的内容 $0表示当前执行的脚本或程序名称

 

num=0
	for i in $@
	do
	       let num=$num+1
		echo $i
	done
 
	echo $num
 
	for i in $*
	do
	   let num=$num+1
		echo $i
	done
	echo $num
	echo $#

 

8 函数使用: 参数用过$n 来获得,返回值通过 $? 获得, 必须放在调用之前 

 

function sum(){
  echo  $1,$2 ;
  return $(($1+$2));
}

sum 2 3 ;
 
echo $?;

 

9 awk 获取内存中第一列为 "Mem:"的行,打印第四个值 

   

free -m | awk '$1=="Mem:"{print $4}

 

10 打印cpu的信息:知识点有两个: grep 过滤使用 、awk 使用 

  

echo -e "cPUInfo\t" `grep "model name" /proc/cpuinfo|awk -F: '{print $2}'`

 

 

10 case in 的使用 

  

	echo "please input score "
	read SCORE
	case $SCORE in
	100|9[0-9]|8[5-9]) echo "you are the best !";;
	7[0-9]|8[0-4]) echo "you get a good mark !" ;;
	6[0-9]|7[0-4]) echo "you must study hard!";;
	esac
 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值