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

相关推荐

  • Linux系统网络管理

    本机索引: 一、基本网络配置 二、主机、网卡名称管理 三、网卡别名 四、Bonding技术 五、实现网络组 六、Linux网络管理常用命令   一、基本网络配置: 将Linux主机接入网络,需要配置网络相关设置 一般包括以下内容: 主机名 IP/netmask 路由:默认网关 DNS服务器: 主DNS服务器 次DNS服务器   网络配置文…

    2018-05-03
  • sed常用操作命令

    sed 为流编辑器,标准输出为屏幕,默认不会改动源文件 -n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。-e :直接在命令列模式上进行 sed 的动作编辑;-f :直接将 sed 的动作写在一个文件内, -…

    2018-04-08
  • 7月9日~7月15日(第四周作业)

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 ~]# cp -r  /etc/skel    /home/tuser1 ~]#chmod -R go-rwx  /home/tuser1 2.编辑/etc/group文件,添加组hadoop 编辑/etc/group 写入…

    Linux笔记 2018-07-16
  • Linux

    Linux 系统启动过程和Linux系统目录介绍

    Linux笔记 2018-04-05
  • mysql数据库四

    备份和还原 主从复制,

    2018-06-11
  • rpm以及yum基础

    第四周

    Linux笔记 2018-04-22