zoukankan      html  css  js  c++  java
  • bash shell最基本的语法

    1 shell语句的基本构成

    shell每个基本的构成元素之间都相隔一个空格。

    比如[ -e file ],[、-e、file、]这四个基本元素之间都相隔了一个空格。

    同样的道理[ ! -e file ],[、!、-e、file、]这五个基本元素之间都相隔一个空格。

    2 shell if expression combine

    !、a、o,分别非、与和或,不需要带括号,它们本身就是分隔符。

    3 bash shell的所有的true的概念是0,这个和其它编程语言的相反

    4 x="hello"

    " $x "等价于" hello ",注意两边的空格,它们是粘贴在一起的。

    5 for c in $ABC; do

       done,默认是以空格和tab键为分隔符的。

    6 ||和&&

    command1 || command2,command1执行失败了,执行command2

    command1 && command2, command1执行成功了,执行command2

    7 空格和等于号

    当等于号前后都没有空格时,等于号是赋值的意思。当等于号前后都有一个空格时,等于号是判断是否相等的意思。

    8 bash本身不关心命令或者脚本参数的形式

    可以使“-”,可以使“--”,也可以什么都没有。

    至于怎么去解析和使用这些参数,都有命令或者脚本自己去处理。

    比如bash shell脚本,--enable-add-ons=nptl,脚本中处理的时候,先提取出enable-add-ons,然后给enable-add-ons赋值为nptl来set这个变量。在./configure –-enable-add-ons=nptl的时候,bash只是把—enable-add-ons赋值给位置参数$1,其它的什么都没有做,它并不会解析“--”。

    9 bash shell的条件的通用格式

    [ xxx yyy xxx ],"["、"xxx"、"yyy"、"xxx"、"]"这五者之间都加一个空格。其中前面的xxx是一个变量,后面的xxx是一个字符串。yyy等于的话用“=”,其它依次类推。

    这个通用格式称为test-command。

  • 相关阅读:
    Java 集合 — ArrayList
    Java 线程 — ScheduledThreadPoolExecutor
    Java 线程 — ThreadPoolExecutor
    Java 线程 — ThreadLocal
    Java 线程 — ConcurrentLinkedQueue
    Java 线程 — ConcurrentHashMap
    Java 线程 — AbstractQueuedSynchronizer
    Java 线程 — JMM Java内存模型
    Java 线程 — synchronized、volatile、锁
    spring源码 — 三、AOP代理生成
  • 原文地址:https://www.cnblogs.com/hustdc/p/7297334.html
Copyright © 2011-2022 走看看