Linux SHELL脚本编程

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

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

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

2.sh hello.s 或者     
 

chmod 755 hello.s   

 ./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下的各种配置文件的作用、如何修改、修改后有什么效果等等。

相关推荐

  1. LinuxShell编程中source和export命令

    2024-03-14 14:14:03       33 阅读
  2. Linux SHELL脚本编程

    2024-03-14 14:14:03       45 阅读
  3. Python脚本编程

    2024-03-14 14:14:03       35 阅读
  4. 【学习Shell脚本编程

    2024-03-14 14:14:03       36 阅读
  5. SHELL脚本编程训练1

    2024-03-14 14:14:03       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-14 14:14:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-14 14:14:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-14 14:14:03       82 阅读
  4. Python语言-面向对象

    2024-03-14 14:14:03       91 阅读

热门阅读

  1. wrap:包装

    2024-03-14 14:14:03       35 阅读
  2. RocketMQ之基于Docker安装

    2024-03-14 14:14:03       44 阅读
  3. virtual-pc/VMware/bochs的区别

    2024-03-14 14:14:03       46 阅读
  4. 数据库设计三范式

    2024-03-14 14:14:03       48 阅读
  5. Unix运维_CMake教程_CMake中的link_libraries指令

    2024-03-14 14:14:03       39 阅读
  6. springBean的三种实例化

    2024-03-14 14:14:03       42 阅读
  7. Kubernetes kafka系列 | k8s部署kafka+zookeepe集群

    2024-03-14 14:14:03       30 阅读
  8. boost 压缩与解压缩流

    2024-03-14 14:14:03       37 阅读