zoukankan      html  css  js  c++  java
  • Linux学习-命令行参数、函数

    Shell

    命令行参数

    • 命令行参数可以使用 $1 $2 ... ${10}..$n 进行读取
    • $0 代表脚本名称
    • $* 和 $@ 代表所有位置参数
    • $# 代表位置参数的数量

    函数

    • function fname(){
      命令
      }

    • 函数的执行:

      • fname
      • 取消某个一个函数:unset fname

    函数作用范围的变量

    • local 变量名 只在函数内部起作用

    函数的参数

    • $1 $2 $3...$n

    demo
    1、创建一个文件:vim 1.sh
    2、在文件中编辑函数:

    #!/bin/bash
    
    # functions
    
    checkpid() {
    
        local i
        for i in $*;do
            [ -d "/proc/$i" ] && return 0
        done
    
        return 1  
    }
    
    

    3、给文件赋予执行权限和执行文件

    chmod u+x 1.sh
    source 1.sh # 这里若用bash 或 ./ 方式运行文件的话,则函数会在子进程中执行,父进程是无法得到函数的定义
    checkpid 1
    echo $?
    

    系统函数库

    • /etc/init.d/functions 系统自建的函数库
    • /etc/profile 存放系统环境变量
    • .bashrc 和 .bash_profile 两个文件中都有决定程序执行顺序的函数,这两个文件都在根目录的家目录下面

    自建函数库

    • 使用 source 函数脚本文件“导入”函数
      • source /etc/init.d/functions

    捕获信号的脚本编写

    • kill 默认发送15号信号给应用程序
    • Ctrl+c 发送2号信号给应用程序
    • 9 号信号不可阻塞
    • 例:
      • trap "echo sig 15" 15 捕获15号信号,捕获到就输出 sig 15
  • 相关阅读:
    点击空白处隐藏盒子
    java缓存技术
    使用Java处理大文件
    java实现把一个大文件切割成N个固定大小的文件
    笔记:Java的IO性能调整
    NIO之轻松读取大文件
    java读写文件,读超大文件
    java读取大文件 超大文件的几种方法
    java web服务器cpu占用过高的处理
    软件开发各类文档模板
  • 原文地址:https://www.cnblogs.com/chenri/p/12677415.html
Copyright © 2011-2022 走看看