shell脚本编程基础

简要概括一点脚本小知识

一、如何编写脚本:

1、脚本文件的第一行,顶格:给出解释器路径,用于指明解释执行当前脚本程序的解释文件

常见的解释器:

#!/bin/bash

注意:脚本中除了第一行声明解释器,其他的#都会被当做注释行。

2、shell脚本编程:过程式编程,解释运行,依赖于外部程序运行.

二、运行脚本:

1、赋予执行权限,并直接运行此文件;相对路径或绝对路径;

chmod +x /PATH/TO/SCRIPT_FILE

2、直接运行解释器。将脚本以命令参数传递给解释器程序

bash  /PATH/TOSCRIPT_FILE

示例:

1、显示/etc目录下所有以大写S或小写s开头的文件或目录本身

#!/bin/bash

ls  -d  /etc/[Ss]*

2、显示/var目录下的所有文件或目录本身,并将显示结果中的小写字母转换成大写字母

#!/bin/bash

ls  -d  /var/*|tr  [a-z] [A-Z]

三、bash的配置文件:

1、profile类:为交互式登录shell进程提供配置

2、bashrc类:为非交互式shell进程提供配置

四、登录类型:

1、交互式登录shell进程:

直接通过某终端输入账号和密码后登录打开的shell进程;

使用su命令:su -USERNAME 或使用su -| USERNAME 执行的用户切换;

2、非交互式登录shell:

su  USERNAME 执行的登录切换

图形界面下打开的终端;

运行脚本

3、profle类:

全局:对所有用户都生效;

/etc/profile

/ec/profile.d/*.sh

用户个人:仅对当前用户有效

~/.bash_profile

功用:

1、定义环境变量;只要用户登录就生效

2、运行命令或脚本,只要用户登录就执行一个shell或者命令

bashrc类:

全局:

/etc/bashrc

用户个人:

~/.bashrc

功用:

1、定义本地变量

2、定义命令别名

五、配置生效的优先级:

1、交互式登录shell进程:

/etc/profile –>  /etc/profile.d/*.sh  –>  /etc/profile.d/*

2、非交互式登录shell进程:

~/.bashrc –>  /etc/bashrc –>  /etc/profile.d/*

3、让通过配置文件定义的特性立即生效:

(1)、通过命令重复定义一次;

(2)、让shell进程重读一次配置文件;

source  /PATH/TO/SOMEFILE

.   /PATHTO/SOMEFILE

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95949

(0)
会飞的蜗牛会飞的蜗牛
上一篇 2018-04-14 20:09
下一篇 2018-04-14 20:41

相关推荐

  • ssh等

    SSH端口转发 SSH会自动的加密和解密所有SSH客户端与服务器之间的网络数据;同时也可以将其他TCP端口的数据加密转发,这一过程叫“隧道”,这样也可以减少防火墙开启的端口。 实现过程是数据首先通过连接本机的某一个端口,被当做ssh协议数据发送给ssh服务器,ssh服务器解密再发给远程主机的端口 本地转发: -L localport:remotehost:r…

    2018-05-28
  • Linux运维学习的常用命令总结以及需要注意的地方(1)

    逆水行舟,不进则退 ,大家共勉之!
    1.在linux安装阶段可能会用到的命令
    2.设置网络相关的命令
    3.用户频道的切换以及用户相关信息的查看
    4.系统当前的shell信息以及别名、内部命令、外部命令相关

    2018-04-02
  • 学习笔记(2)

    学习笔记

    Linux笔记 2018-04-01
  • 输入输出重定向

    重定向就是改变默认位置 ps aux 显示进程号 大于号(只处理正确信息),以覆盖的方式把命令输出到指定的文件,如果a > b;c >b;c会把之前a覆盖到b的内容覆盖到。为了保留a和c的数据,这时候用追加的方式解决,双大于号就用以追加的方式 set -c 不能覆盖 set +c 允许覆盖 |> 强行覆盖 清零|> /data/sky…

    Linux笔记 2018-07-30
  • joke

    后续进行修改

    Linux笔记 2018-04-08
  • shell回顾

    测试基础知识

    2018-05-17