• Linux SHELL脚本编程


            shell脚本能提高用户操作和管理员进行系统管理的效率,一般步骤 编辑器编写脚本程序 然后shell做解释程序,非交互地执行脚本,

    两种执行方式: 1.用sh命令执行脚本文件 2.给脚本文件添加执行权限,用./命令执行

    1.vi hello.s 按i进入插入模式 输入echo “hello world!” :输入wq保存退出

    2.sh hello.s 或者     
     

    1. chmod 755 hello.s   
    2.  ./hello.s

    一、VI编辑器

    VI的三种工作模式

    VI的启动

    VI的退出

    VI的文本编辑

    VI命令模式下的操作

    VI行命令模式下的操作

    系统配置文件、shell脚本文件等都是文本文件,编辑它们都要使用文本编辑器。 在Linux系统中有多种文本编辑器,其中既有字符界面如的VI、EMACAS等,也有图形界面的如“附件”菜单下的“文本编辑器(gedit)”等,用户可以根据自己的喜好选择使用。 学习vi的方法:     vi的命令太多且难以记忆,而实际上真正经常使用的命令并不是太多,只要掌握几个关键的并加以适当练习很快就上手使用vi

    就使用的方便性而言,有比vi更好的编辑器,还要图形化的edit,为什么还要用vi? 历史久远,功能强大,在有些情况下系统中能够找到的编辑器只有vi; 用户一旦熟悉后,使用非常方便;系统管理员使用正则表达式可以极大地提高工作效率,而学习vi也是掌握正则表达式的有效途径。 由于vi的版本不同,其命令格式、功能和用法会有一些差别。Shell中执行vi命令,RedHat系统实际上是执行vim,它是传统vi的增强版本

    二、SHELL变量与语法

    1、基础知识 关于shell脚本文件

    一般以.sh为文件后缀。没有也能执行。 常见的两种执行方式 ./文件名    在当前目录下写明路径执行,要求文件必须有执行权限,如 chmod 755 run.sh ./run.sh sh 文件名         sh run.sh 文件开头指定一个或多个解释脚本程序的shell,如    #!/bin/bash 如果指定,注意/bin不要漏了“/”,否则用./方式执行会找不到路径。 不指定的话一般默认以/bin/sh执行shell脚本

    shell里的特殊字符

    注释符#    

    除了#!/bin/bash里的#特殊

    美元符

    变量符。与反斜杠转义符相反,使其后的普通字符作为变量名,如$a表示变量a的值。变量字符长度超过1个时,用{}括起来

    单引号

    被引起的字符全部做普通字符,即全部原样     echo ‘my $SHELL’

    双引号

    引号内的内容,除$、转义符\、倒引号`这三个保留特殊功能,其他字符均做普通字符。

    倒引号

    引号内的字符串当做shell命令行解释执行,得到的结果取代整个倒引号括起来的部分。

    2、shell变量

    环境变量

        程序运行时的一些设置,常用的如PATH,HOME,SHELL,LOGNAME等 PATH的例子: windows下,开始——运行——输入notepad能启动记事本 配置java环境变量可使任何目录都能执行javac命令 linux下的环境变量     一)命令行修改或设置环境变量         只在本次登录的shell内有效。设置好的环境变量可以在当前用户运行的所有程序中使用。     1.显示变量的值 echo $HOME /home/wxl     2.新增,修改或删除环境变量     export PATH=$PATH:/**/bin

    3. env命令显示所有的环境变量 $ env HOSTNAME=terry.mykms.org PVM_RSH=/usr/bin/rsh SHELL=/bin/bash TERM=xterm HISTSIZE=1000 ... 4. set命令显示所有本地定义的Shell变量 5.  设置变量为只读、清除变量内容     $ export TEST="Test..." #增加一个环境变量TEST $ readonly TEST #将环境变量TEST设为只读 $ unset TEST #会发现此变量不能被删除

    二)让环境变量的修改在退出shell再次登录时仍有效,需要在相关配置文件中修改 1.用户登录Linux涉及环境变量的配置文件有? 有:/etc/profile、~/.bash_profile、~/.bashrc、/etc/bashrc 2.文件访问顺序如何? 在上述文件中都加入一句:echo “文件名”,如 echo "echo "oh! enter /etc/profile"" >> /etc/profile exit退出登录,重新用root登录看看输出的语句,得到配置文件的使用顺序: /etc/profile ->~/.bash_profile  -> ~/.bashrc -> /etc/bashrc

    3.上述配置文件的作用 1)登录Linux先启动系统配置文件/etc/profile,并从/etc/profile.d目录的配置文件中搜集shell的设置,为系统的每个用户设置环境信息。 2)用户配置文件~/.bash_profile,每个用户专用于自己使用的shell信息,仅用户登录时执行一次!     默认情况下,此文件通过脚本执行同目录下用户的.bashrc文件。 3)~/.bashrc文件包含专用于用户bash shell的bash信息,登录及每次打开新的shell时都会执行。里面又会调用/etc/bashrc

    在/home/user/.bash_profile中定义下句,会怎样? alias la=‘ls –a|grep “\.*”’ 答:user下次再登陆,其shell会自动建立一个别名命令la,功能为查看当前目录下名字以.开头的文件。 写在~/.bash_profile中,需重新登录才能有效。除非运行source .bash_profile使其立即有效。 写在~/.bashrc中,则打开新的终端中就有效 读脚本,了解更多配置文件 读etc/rc.d目录下的系统启动运行的脚本,可以了解/etc下的各种配置文件的作用、如何修改、修改后有什么效果等等。

  • 相关阅读:
    【mcuclub】时钟模块DS1302
    【React二】ref与事件处理与生命周期钩子函数
    第二周学习:卷积神经网络
    Python 之SQLAlchemy使用详细说明
    9.14号作业
    MySQL的进阶篇1-MySQL的存储引擎简介
    [COCI 2011/2012 #5] EKO / 砍树
    麒麟系统开发笔记(十二):在国产麒麟系统上编译GDAL库、搭建基础开发环境和基础Demo
    Java处理正则匹配卡死(正则回溯问题)
    数模5—蒙特卡洛算法、灰色预测
  • 原文地址:https://blog.csdn.net/caoxinri123/article/details/136691024