zoukankan      html  css  js  c++  java
  • shell 1基础

    1. shell简介

    shell是一个用C语言编写的程序,是用户使用Linux的桥梁。shell既是一种命令语言,又是一种程序设计语言。 shell脚本(shell script),是一种为shell编写的脚本程序。

    2. shell环境

    * Bourne Shell(/usr/bin/sh 或/bin/sh)是unix最初使用的shell,而且在每种unix上都可以使用 * Bourne Again Shell(/bin/bash)LinuxOS默认的,他是Bourne Shell的扩展。于Bourne Shell完全兼容,并且在Bourne Shell的基础上增加了很多特性。可以提供命令补全,命令编辑和命令历史等功能。它还包含了很多 C Shell 和 Korn Shell 中的优点,有灵活和强大的编辑接口,同时又很友好的用户界面。 * C Shell(/usr/bin/csh) * K Shell(/usr/bin/ksh) * Shell for Root(/sbin/sh)

    3. 第一个shell脚本

    3.1 编写脚本

    #!/usr/bin/bash  #告诉系统使用那种shell来执行脚本。
    echo "Hello World!"    #出echo用于向窗口输出文本 结果:Hello World!
    

    3.2 执行shell脚本

    3.2.1直接执行,不需给予权限

    sh test.sh
    source test.sh
    

    3.2.2 ./需要给予可执行权限

    chmod +x  ./test.sh  #需要赋予可执行权限
    ./test.sh  #使用./ 执行脚本
    

    4 其他

    4.1 bash是一个进程

    bash下还可以再重新启动一个shell,这个shell是sub shell,原shell会复制自身给它。 在sub shell中定义的变量,会随着sub shell的消亡而消失 * () 子shell中运行 (a=hello;echo $a) |echo $a #shell echo $a * {} 当前shell中执行{ a=world;echo $a; } # world * $$ 当前脚本执行的pid * & 后台执行 * $! 运行在后台的最后一个作业的PID(进程ID)
    #!/bin/bash
    (a="testhome";echo $a)    #testhome
    echo $a    #子shell中定义的变量消失
    { a=world;echo $a; }    #world
    echo $a    #world 当前shell的变量依然有效
    

    4.2 通配符

    bash可以自动扩展特定的关键词

    echo *     #打印当前目录下的文件
    echo ????    #匹配特定字符个数的文件
    echo "*????"    #输出字符串,避免被匹配
    
  • 相关阅读:
    Norton我错怪了你啊~~
    RUNRMTCMD命令使用
    如何查看QTEMP的内容?可以查看别人的QTEMP的
    关于文件的ShareODP和USROPN
    虚拟主机权限之log4net
    如何向远程系统提交命令?
    在5250上面实现复制粘贴
    php与数据库对应实体类的命名
    Action Script 中的 super
    Linux下源码编译方式安装MySQL5.5.12(转)
  • 原文地址:https://www.cnblogs.com/csj2018/p/9534871.html
Copyright © 2011-2022 走看看