zoukankan      html  css  js  c++  java
  • 2.6 访问 Shell 脚本的参数

        所谓的位置参数(positional parameters)指的也就是Shell脚本的命令行参数(command-line arguments)。在Shell函数里,它们同时也可以是函数的参数。各参数都由整数来命名。基于历史的原因,当其超过9,就应该用大括号把数字框起来:
            echo first arg is $1
            echo tenth arg is ${10} 
     
       假设你想知道某个用户正使用的终端是什么,你当然可以直接使用who命令,然后再输出中慢慢找。这么做很麻烦又容易出错--特别是当系统的用户很多的时候。你想做的只不过是在 who 的输出中找到那位用户,这个时候你可以用 grep 命令来进行查找操作,它会列出第一个参数(所指定的模式)匹配的每一行。我的虚拟机上的用户较少,以many为例。
     
             [many@avention Desktop]$ who | grep many
             many     :0           2018-09-25 00:26 (:0)
             many     pts/0        2018-09-25 00:26 (:0)
     
     知道如何寻找特定的用户后,我么可以将命令放进脚本里,这段脚本的第一个参数就是要找的用户名称:
           [many@avention my_sh]$ cat > finduser.sh                                    #建立新的脚本文件
            #! /bin/sh
     
            who | grep $1                                                                                  #查看第一个参数所指定你的用户是否登录
     
            [many@avention my_sh]$ chmod u+x finduser.sh                        #为脚本的拥有者设置可执行权限
            [many@avention my_sh]$
            [many@avention my_sh]$ ./finduser.sh many                               #测试,寻找 many用户
            many     :0           2018-09-25 00:26 (:0)
            many     pts/0        2018-09-25 00:26 (:0)
            [many@avention my_sh]$
     
     
        在shell脚本中,注释(comment)是以 # 开头的。为了增加脚本的可读性,多写注释。
     
        关于命令行参数的更多细节,在后续章节中补充。
  • 相关阅读:
    ADO.NET中DataSet的应用(读书笔记5)
    ADO.NET中DataTable的应用(读书笔记4)
    如何在前端界面操作数据表(读书笔记3)
    如何在各类空间中输入输出数据(读书笔记2)
    关于利用input的file属性在页面添加图片的问题
    本地存储
    react
    微信开发
    node
    SVN和GIT
  • 原文地址:https://www.cnblogs.com/avention/p/9698934.html
Copyright © 2011-2022 走看看