ab168 发表于 2018-8-24 12:19:23

shell一些

#!/bin/bash  #输入用户的姓名,并且显示出来
  #2008/10/21
  read -p "请输入您的姓:" firstname
  read -p "请输入您的名字:" lastname
  echo "您的姓名是:$firstname $lastname"
  #!/bin/bash
  #利用date建立文件
  #2008/10/21
  #让用户输入文件名称,并获取fileuser变量
  echo -p "I will use 'touch' command to create 3 files"
  read -p "Please input file name what you want:" fileuser
  #使用变量功能分析是否设置的文件名?
  filename=${fileuser:-"filename"}
  #开始使用date命令来获取所需要的文件名
  date1=`date +%Y%m%d`
  file1="$filename""$date1"
  touch $file1
  数值运算的方法;var=$((运算内容))
  test用法;test -e filename
  -e :该文件名是否存在
  -f:该文件名是否为文件
  -d:该文件名是否为目录
  -r:检查该文件名是否可读
  -w:检查该文件名是否可写
  -x:检查该文件名是否可执行
  -s:检查该文件名是否为空白文件
  俩个整数的判断:
  -eq;两数值相等
  -ne:两数值不相等
  -gt:n1大于n2
  -lt:n1小于n2
  -ge:n1大于等于n2
  -le:n1小于等于n2
  test -z string判断字符串是否为0,若为空字符串,返回true
  test -n string    若为空字符串,返回false
  test str1=str2
  test str1!=str2
  -a:(and)两个条件同时成立
  -o:两个条件任何一个成立
  !:条件求反
  例子:
  #!/bin/bash
  #首先让用户输入一个文件名
  #这个文件是否存在?若不存在,则显示"不存在",并且中断程序
  #若存在,则判断是否是目录?输出"是文件" "是目录?"
  #判断执行者对这个文件或者目录的权限
  #2008/10/21
  read -p "请输入文件名:" filename
  test -z $filename && echo "请输入文件名"
  test ! -e $filename && echo "文件不存在" && exit 0
  test -f $filename && filetype="是文件"
  test -d $filename && filetype="是目录"
  test -r $filename && perm="可读"
  test -w $filename && perm="$perm 可写"
  test -x $filename && perm="$perm 可执行"
  echo "文件:$filename是:""$filetype"
  echo "用户的权限是: $perm"
  条件判断符号[]
  例子:[ "$home" == "$male" ]
  注意要有空格
  shell脚本的默认的变量
  例子:/sbin/shutdown -h now
  $0             $1 $2
  条件判断:
  #检查输入的参数是否为hello
  #如果是,就显示"hello, how are you?"
  #如果没有加入任何参数,就提示必须输入参数
  #若不是hello,提示仅使用hello作为参数
  if [ "$1" == "hello" ]; then
  echo "hello,how are you?"
  elif [ "$1" == "" ]; then
  echo "you must input parameter!"
  else
  echo "you must input hello"
  fi
  #判断参数是否为hello
  case $1 in
  "hello")
  echo "hello, how are you?"
  ;;
  "")
  echo "you must input parameters!"
  ;;
  *)
  echo "you must input hello"
  ;;
  esac
  #函数体中的$1指的是函数后面跟着的参数
  function println(){
  echo "your choice is $1(函数后面的参数,如1)"
  }
  case $1(命令中的参数) in
  "one")
  println 1
  ;;
  "two")
  println 2
  ;;
  *)
  echo "hehhehehhe"
  ;;
  esac
  while[ "$yn" != "yes" ] && [ "$yn" != "YES" ]
  do
  read -p "please input yes/no to stop this programe:" yn
  done
  s=0
  for(( i=1; i
页: [1]
查看完整版本: shell一些