shell脚本学习第二天——变量定义(含字符串变量定义)
一、脚本书写规范脚本打头指明解释器,以及作者,联系方式,以及脚本功能等等。 #!/bin/bash
#Author:yangni
#Mail:497049229@qq.com
#Func:This is ......
循环语句的书写规范: if [ xxx ] #这里[ ]前后都需要有空格,然后在中间填值
then
fi
所以在脚本书写的时候遇到[]最好先在里面打两个空格,然后在中间写。对于这种循环,首先写好整个循环体,然后再写具体内容,防止出现遗漏情况。 二、变量:全局变量:环境变量(在shell及其派生子shell中都可以使用) 环境变量:一般为大写,且都是全局变量,用于定义Shell运行环境,保证Shell命令正确执行。
环境变量在用户登陆之前已经被/bin/login程序设置好,通常定义并保存在.bash_profile 1、定义变量的几种方法:在/etc/profile最后添加变量定义:
方法二:
方法三:
2、字符串变量:普通字符串变量定义的几种常见形式:
实例: a=192.168.1.2 //直接定义变量内容
b='192.168.1.2' //输出时候单引号变量不解析(看到啥显示啥)
c="192.168.1.2" //输出时会解析变量
我们会看到打印的结果都是一样的。 稍微做下改动: a=192.168.1.2-$a
b='192.168.1.2-$a' //单引号里面不解析变量
c="192.168.1.2-$a" //双引号解析变量(a的值已经变化了)
我们会发现,单引号里面的
再举一个简单的实例:
所以一般来说,数字不加引号,其他加双引号。 但是在awk函数双引号和单引号使用正好相反。 3、命令变量的定义:命令变量定义常见两种方法: 1、mydate=`date +%F` #注意,只有date后有空格
2、mydate=$(date +%F)
echo $mydate
然后我们可以用当前时间变量来打包文件:
用机器名打包文件: >myhostname=$(uname -n) //等号前面不能有空格
tar zcf $myhostname.tar.gz 目录名
如果是字符串变量,最好加双引号防止可能出现的错误:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |