zoukankan      html  css  js  c++  java
  • shell编程基础

    本文主要对shell中基本的语法进行简要记录,以备查用!

    1、shell变量

    在定义变量名时不加美元符号$,只在使用变量时需要在变量名前添加美元符号。如

    1 name=”lw”
    2 echo ${name}     #或者$name,但建议加上大括号

    注:在对变量进行赋值时,等号“=”的两边不能有空格

    变量的命名遵循一下规则:

      1)首个字符必须为字母(a-zA-Z)。

      2)中间不能有空格,可以使用下划线(_)。

      3)不能使用标点符号。

      4)不能使用bash里的关键字(可用help命令查看保留关键字)。

    2、shell字符串

    shell的字符串可以使用单引号或者双引号。但这两种引号在使用的过程中有些区别。

    1)单引号:单引号中的字符串主要存在两个限制:单引号中的变量是无效的;单引号字串中不能出现单引号(对单引号使用转义符后也不行)。总之一句话,单引号里的任何字符都会原样输出。

    2)双引号:双引号没有单引号的那些限制,可以输出变量,也可以使用转义字符。

    如:

    1 course=”python”
    2 echo “the course is: ${course}”

    3)字符串的其他操作

    1 first=”hello”
    2 last=”python”
    3 #字符串的拼接
    4 newStr=“${first}, ${last}”
    5 newStr=${first}“, ”${last}
    6 #获取字符串的长度
    7 len=${#first}
    8 #提取子字符串
    9 subStr=${first:0:5}

    3、shell数组

    数组定义:array=(value1, value2, value3, valuen)

    如:

    1 course=(‘python’, ‘shell’, ‘perl’)
    2 val1=${course[1]}     #获取course[1]中的数据
    3 echo ${course[@]}        #输出数组中的全部值

    4、if,for,while语句

    数值比较操作: 

    -eq: 等于    -ne:不等于

    -gt:大于    -ge:大于等于

    -lt:小于     -le:小于等于

    假如: num1=${2*6}    num2=${12} 

    1if语句

    1 if test ${num1} -eq ${num2}
    2 then
    3   echo “equal”
    4 elif test ${num1} -gt ${num2}
    5   echo “num1 bigger than num2”
    6 else
    7   echo “num1 less than num2”
    8 fi

    2)for语句

    1 #for i in `seq 10`            #输出1~10
    2 for i in 3 4 5 6            #输出3 4 5 6
    3 do
    4   echo $i
    5 done

    3)while语句

    1 while :
    2 do
    3   echo ”hello”
    4 done
    5 4)until语句
    6 until condition
    7 do
    8   command
    9 done

    5、shell函数

    比如加法函数:

    1 add(){
    2     echo '$1:'$1', $2:'$2
    3     return $(($1+$2))
    4 }
    5 add 3 4
    6 echo "the sum is: $?"

    几个特殊的字符含义:

    $#:传递到脚本的参数个数

    $*:以一个单字符串显示所有向脚本传递的参数

    $$:脚本运行的当前进程ID

    $!:后台运行的最后一个进程的ID

    $@:与$#相同,但是使用时加引号,并在引号中返回每个参数。

    $-:显示Shell使用的当前选项,与set命令功能相同。

    $?:显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

     

    参考链接:

    http://www.w3cschool.cc/linux/linux-shell-func.html

  • 相关阅读:
    如何构造分片报文
    Python趣味入门7:循环与条件的爱恨情仇
    如何使用Javascript开发sliding-nav带滑动条效果的导航插件?
    java获取微信用户信息(含源码,直接改下appid就可以使用了)
    数据库设计工具-PowerDesigner中table视图显示name与code
    typora增加到鼠标右键
    基于springboot整合spring-retry
    idea中提交项目到github及invalid authentication data 404 not found not found问题
    git秘钥问题解析及gitlab配置(Please make sure you have the correct access rights and the repository exists)
    idea中打包跳过test
  • 原文地址:https://www.cnblogs.com/liuwu265/p/4108449.html
Copyright © 2011-2022 走看看