文章标题

来源:互联网 发布:linux vim 新建文件 编辑:程序博客网 时间:2024/06/06 20:40
#! /bin/sh       //告知UNIX内核使用哪个SHELL来执行该脚本 (#! 路径)//or#! /bin/csh -f   //后面也可带参数

echo用法

#!/bin/sh#create by sue 2016.05.20echo -n "Input your name:"read NAMEecho "Hello,"$NAME"."

Shell中的变量分类
环境变量
HOME
LANG
SHELL
PATH
PS1
PS2
可在终端查看修改环境变量 echo $HOME
修改环境变量PS2 = “:” //把辅助提示符修改为:

位置变量

预定义变量
常见的预定义变量
0:/* : 保存脚本的所有参数
$$ : 保存当前进程/脚本的PID(进程)号
$# : 脚本的参数个数
$? : 返回上个脚本的是否执行成功状态(0成功1失败)
$! : 后台运行的最后一个进程的PID(进程)号

echo "script name:"$0echo "all parameters:"$*echo "PID is the script":$$echo "success of the previous command:"$? 

自定义变量
作用域:使用export定义的为全局变量,可以在当前用户的任意脚本\命令中使用;不使用expoet,作用域为整个脚本.
1.NAME = jhon //定义变量NAME并赋值
2.如需经常使用的变量可定义为一个环境变量
BACKUP_DIR = /file/backup
export BACKUP_DIR
3.不能修改值的只读变量
PI = 3.14
readonly PI
4.使用变量时,要使用变量引用符”echonInputyourname:readNAMEechoHello,NAME”.”

猜数游戏脚本

RAN = `expr $RANDOM % 10`RAN = `expr $RAN + 1`echo "this is a guessing game"echo "Number range:1-10"while true  do  echo -n "please enter the number you think:"  read NUM  if [$NUM -lt 1] || [10 -lt $NUM]    then      echo "you enter the number out of range"      continue  fi  if [$NUM = $RAM]    then      echo "you guessed it"      unset NUM RAM      exit 0  fi  if [$NUM -lt $RAM]    then      echo"you enter the number is too small"    else      echo"you enter the number is too large"  fidone

shell 中的数组

ARRAY = {123 457 99 379 622 895 111 45 1000}LENTH = ${#ARRAY[@]}I = 0while["$I" -lt "$LENTH"]do  J = `expr $I +1`  while ["$J" -lt "$LENTH"]  do      if [ "${ ARRAY[J] }" -lt "${ ARRAY[I] }" ]      then    TEMP = ${ ARRAY[J] }    ARRAY[J]  = ${ ARRAY[I] }    ARRAY[I] = $TEMP      fi      J = `expr $J +1`   done    I = `expr $I +1`doneecho ${ARRAY[@]}unset ARRAY I J TEMP LENTH 
0 0