zoukankan      html  css  js  c++  java
  • shell-的特殊变量-难点理论

    一:shell的特殊变量-难点理论
      1. $*和$@的区别例子
         $* 将所有的命令行所有参数视为单个字符串,等同于“$1$2$3”
         $@ 将命令行每个参数视为单独的字符串,等同于"$1" "$2" "$3"。这是将参数传递给其他程序的最佳方式,因为他会保留所有内嵌在每个参数里的任何空白。
       实例:

    [root@1-241 scripts]# set -- "I am " handsome oldboy.                #传入三个参数
    [root@1-241 scripts]# echo $#                                                                  #现在有三个参数
    3
    [root@1-241 scripts]# for i in $*; do echo $i;done                          #循环打印这些参数,用$*,无引号
    I
    am
    handsome
    oldboy.
    [root@1-241 scripts]# for i in $@; do echo $i;done                      #循环打印这些参数,用$@,无引号
    I
    am
    handsome
    oldboy.
    [root@1-241 scripts]# for i ; do echo $i;done                              #去掉in变量列表,相当于in “$@”
    I am
    handsome
    oldboy.
    [root@1-241 scripts]# for i in "$@"; do echo $i;done            #在有双引号的情况下,参数里引号内内容当做一个参数输出了,这才真正符合我们传入的参数需求,set  --  "I am" handsome oldboy.
    I am
    handsome
    oldboy.
    [root@1-241 scripts]# for i in "$*"; do echo $i;done           #加了双引号,$*表示一个字符串
    I am handsome oldboy.
    [root@1-241 scripts]# shift                                                              #用shift去掉第一个参数
    [root@1-241 scripts]# for i in "$@"; do echo $i;done        #再次打印只剩后面两个参数了
    handsome
    oldboy.
    [root@1-241 scripts]# for i in "$*"; do echo $i;done
    handsome oldboy.
    [root@1-241 scripts]# for i ; do echo $i;done
    handsome
    oldboy.
    

      

  • 相关阅读:
    Delphi接口的底层实现
    Delphi实现图像文本旋转特效完整代码
    delphi 原创应用工具箱
    用Delphi制作DLL
    Delphi在StatusBar上绘制ProgressBar
    Delphi之TDrawGrid绘制
    基于Delphi的接口编程入门
    Delphi中For In 语法应用实例
    w3c与微软(IE)事件注册区别 -Tom
    js 函数-Tom
  • 原文地址:https://www.cnblogs.com/scajy/p/12762329.html
Copyright © 2011-2022 走看看