二、Shell脚本高级编程实战第二部

一、什么是变量?

变量就是一个固定的字符串替代更多更复杂的内容,当然内容里面可能还有变量、路径、字符串等等内容,最大的特点就是方便,更好开展工作

1.变量有环境变量(全局变量)和局部变量

环境变量就是全局变量,可以在创建他们的shell及派生shell都可以用

局部变量只能在创建他们的shell中使用。

个人认为这个也不是很严谨,因为就像之前上篇讲到的,如果在某个脚本中定义了一个局部变量,例如:source   xx.sh   或者   .(点) xx.sh  呢?  同样可以调用脚本中的变量。

二、环境变量

环境变量用于定义shell运行环境,保证shell命令的正确执行。所有的环境变量都是全局的,脚本随便用,因为脚本的执行首先执行的是环境变量加载一遍;一般情况下在.bash_profile文件中或者全局配置/etc/profile,/etc/bashrc文件或者/etc/profile.d中定义。将环境变量放入profile中,每次用户登陆就可以初始化了。

传统情况下,环境变量都是大写。通过命令env、set进行查看系统定义的一些环境变量。

一般每一个用户下面都有.bashrc和.bash_profile文件;全局环境下是/etc/profile文件 和/etc/bashrc ,/etc/profile.d ;特别说明的是,/etc/motd下面一般是登陆后显示的字符串

三、局部变量

只是在当前的shell中生效。

无论是局部变量或者全局变量,默认情况下,数字不加引号,其他都加双引号。

原文地址:https://www.cnblogs.com/dangjingwei/p/11594952.html

时间: 2024-10-07 08:25:04

二、Shell脚本高级编程实战第二部的相关文章

九、Shell脚本高级编程实战第九部

一.监控mysql主从同步是否异常,如果异常,发送短信给管理员 1)开发一个守护进程脚本每30秒实现检测一次. 2)如果错误号是:1158.1159.1008.1007.1062,请跳过 3)请使用数组实现上述要求 #!/bin/sherrorno=(1158 1159 1008 1007 1062)mysql_cmd=" mysql -uroot -poldboy124 -S /data/3307/mysql.sock"while truedoflag=0array=($($mysq

六、Shell脚本高级编程实战第六部

一.写一个start_nginx脚本,当启动.停止.重启时利用系统函数模拟实现系统脚本启动的特殊颜色效果 (用if实现) #!/bin/sh. /etc/init.d/functions if [ $# -ne 1 ]  then   echo "USAGE $0 {start|stop|restart}"   exit 1fi if [ "$1" == "start" ]  then    action "start nginx&qu

七、Shell脚本高级编程实战第七部

一.写网络服务的系统启动脚本 利用case语句开发类似系统启动rsync服务的脚本 代码: #!/bin/sah. /etc/init.d/functionspidfile="/var/run/rsyncd.pid"start_rsync(){if  [ -f "$pidfile" ]  then    echo "rsync is running"else   rsync --daemon   action "rsync is sta

五、Shell脚本高级编程实战第五部

一.条件表达式 在bash的各种流程控制结构中通常要进行各种测试,然后根据测试结果执行不同的操作.有时也和if结合,让我们方便判断. 例如: 1)判断文件是否存在:test -f  file 2)非的语法    test ! -f file 3)  判断 非空:  test -n  "$arg" 4)判断是否为0  test -z "$arg" 原文地址:https://www.cnblogs.com/dangjingwei/p/11610793.html

nfs网络文件系统服务介绍与实战第二部

本博文议程如下: 1.生产情况应用案例 2.NFS客户端可挂载的参数 3.人为模拟错误的学习方法 4.NFS在网站架构中的位置 5.NFS的优缺点 议程1.生产情况实际案例概述: 实现当多台客户端同时挂载一台NFS Server时,无论从哪个客户端写入数据,其他客户端同样可以读写,即让所有NFS客户端写入到NFS Server的文件或目录在NFS Server上的用户和组都是同一个名称nfsnobody .请给出操作步骤,并加以说明. 实现NFS服务端的/data目录共享,指定主机(自己设置),

关于shell脚本基础编程第四篇

shell脚本基础编程第四篇本章主要内容:函数 函数 function:             function 名称 { 命令 ; } 或 name () { 命令 ; }           定义 shell 函数.               创建一个以 NAME 为名的 shell 函数.当作为一个简单的命令启用时,           NAME 函数执行调用 shell 的上下文中的 COMMANDs 命令.当 NAME           被启用时,参数作为 $1...$n 被传递

《UNIX环境高级编程》第二版源码在Ubuntu下的编译

涂鸦一文,自娱娱乐. 无题 草舍如沙天地卷,且放白鹿青崖间.   望闻问切麻雀全,漫卷诗书彩云乡.   天地琴心天地曲,天际行将遥望远.   大浪淘沙鲁智深,乱云飞渡仍从容. <UNIX环境高级编程>第二版源码在Ubuntu下的编译

Shell 脚本之编程和变量(外加实战项目)

本章目的:学会编程规范,变量的相关脚本操作和知识 一.Shell 脚本的概述 二.Shell的作用 三.写第一个Shell脚本 1.写一个脚本(到BOOT目录,查看当前位置,以长格式友好显示VML开头的所有文件) [[email protected] ~]# vim aaa.sh "随意编一个空文件以.sh为结尾" /bin/bash "开头声明,固定格式" 一个脚本 "描述性信息可加可不加" cd /boot/ pwd ls -lh vml*

shell脚本基础编程

Shell脚本编程 Shell脚本变量 :这是把hostname暂时存放在CMD中通过echo能反馈出$CMD中又hostname得命令然后直接$CMD等于直接执行hostname,$在这等于变量,变量就是暂时变换成存放在CMD值中:这得NAME=zhang而执行变量是却错了,变量中只能存命令才能执行. 在变量得时候不能加空格,多个内容得加""来包括引用.而且在等号前后不能加空格,不然无法执行.:变量也可以存放文件内容,但是必须使用反向单引号 `因为看文件其实是执行了一条命令所有得使用