shell script之变量

shell script之变量

什么是变量

用一个简单的“字眼”来代替另一个比较复杂或者容易变动的数据

变量的显示与设置:echo,unset

变量的显示

echo ${PATH}

变量的设置规则

等号连接         变量=变量内容

等号两边不能直接接空格符

变量名称只能是英文或数字,数字不可用作第一个字符

变量内容有空格需使用双引号或单引号括起来

单引号:特殊字符仅表示字符

双引号:特殊字符可保持原本特性,如$

转义字符可将特殊符号变成一般字符

$(command)与`command`均表示先执行command

变量内容追加

  PATH=${PATH}:/home/bin

将变量设置为环境变量

export PATH     注:export后不跟变量名时,会显示所有环境变量

变量的取消

unset PATH

环境变量的功能

env

查看目前shell环境下所有环境变量

export

查看目前shell环境下的所有环境变量,

将自定义变量转成环境变量

set

查看所有变量(包含环境变量与自定义变量)

一些有用的变量

PS1=‘[\[email protected]\h \W]‘

设置命令提示符,即设置[[email protected] ~]#

\d :可显示出『星期 月 日』的日期格式,如:"Mon Feb 2"

\H :完整的主机名。举例来说,鸟哥的练习机为『www.vbird.tsai』

\h :仅取主机名在第一个小数点之前的名字,如鸟哥主机则为『www』后面省略

\t :显示时间,为 24 小时格式的『HH:MM:SS』

\T :显示时间,为 12 小时格式的『HH:MM:SS』

\A :显示时间,为 24 小时格式的『HH:MM』

\@ :显示时间,为 12 小时格式的『am/pm』样式

\u :目前使用者的账号名称,如『root』;

\v :BASH 的版本信息,如鸟哥的测试主板本为 3.2.25(1),仅取『3.2』显示

\w :完整的工作目录名称,由根目录写起的目录名称。但主目录会以 ~ 取代;

\W :利用 basename 函数取得工作目录名称,所以仅会列出最后一个目录名。

\# :下达的第几个指令。

\$ :提示字符,如果是 root 时,提示字符为 # ,否则就是 $ 啰~

?

获得上一条命令的回传码

影响显示结果的语系变量:locale

locale -a

查看Linux支持多少种语系

  local

查看被用来设置语系的变量

/etc/sysconfig/i18n

当前默认语系

变量键盘读取,数组与声明:read,array,declare

变量键盘读取:read

         read [-pt] variable

p       后接提示符

t        后接等待的秒数

变量声明:declare

  declare [ - | + ][aixr] variable

-a      设置一个数组变量

-i       设置个整数变量

-x      将后面的变量变为环境变量

-r      将变量设置成为readonly类型,改变辆不可被更改内容,也不能重设

-p      列出变量的类型

+       加号表示取消该变量的该类型

数组类型变量:array

设置方式

var[index]=content

设置实例

  var[1]="small min"

                   var[2]="big min"

                   var[3]="nice min"

使用实例

  echo "${var[1]},${var[2],${var[3]}"

变量内容的删除与替换

变量的测试与替换

-、+          根据str的情况设置var=expr

=                根据str的情况设置var=expr,同时设置str=expr

?              根据str的情况设置var=expr,异常输出错误提示

  

时间: 2024-11-03 22:37:30

shell script之变量的相关文章

shell编程 Shell script 的默认变量($0, $1...)

Shell script 的默认变量($0, $1...) 我们知道指令可以带有选项与参数,例如 ls -la 可以察看包含隐藏文件的所有属性与权限.那么 shell script 能不能在脚本文件名后面带有参数呢?很有趣喔!举例来说,如果你想要重新启动系统登录文件的功能,可以这样做: [[email protected] ~]# file /etc/init.d/syslog /etc/init.d/syslog: Bourne-Again shell script text executab

shell script 学习笔记-----shell变量

1.在赋值语句name=value中不能存在空格,例如:name = value这样的形式会被认为是三个变量,因为本质上来说,脚本的内容就是传给shell程序的变量,而变量之间是通过空格区分的.如果想要在value里面出现空格,则需要用引号标注出来,想要应用变量的内容则在变量名前加‘$’符号,如下: 2.当我们需要在一些非空格字符之间插入变量时,例如:为了脚本的扩展性,常在路径名/home/my$USERtxt中用变量取代一部分内容,但是这样做的话,我们其实无法区分变量名是USER还是USERt

学习shell script

如果你的想要管理好你的主机,那么就要好好学习自动管理系统的有效工具--hell script!基本上,shell script有点像早期的批处理文件,即将很多命令整合起来一次执行,但是shell script拥有更强大的功能,它可以进行类似程序的编写,并且不需要经过编译就能够执行,非常方便我们对系统进行管理. 今天我们主要通过对一些shell script的习题来加深对脚本知识的学习. 习题1:对成绩进行判断,要求输入一个正整数,以60分,85分为界输出不同的评语. #!/bin/bash #

一起来学linux:shell script(二)关于脚本

p { margin-bottom: 0.25cm; line-height: 120% } (一)首先来看shell脚本的执行方式,shell脚本的后缀名都是sh文件. 1 sh test.sh 2 source test.sh 这两种方式有什么区别呢.test.sh 里的脚本很简单, 从键盘输入名字后赋值个name变量 read -p "Please input your name:" name 执行如下 [email protected]:/home/zhf/zhf/shell_

shell中的变量及shell条件判断

Shell 基础之变量和条件判断 一.shell概述 1.shell概述: shell是一个命令行的解释器,为用户提供了一个向Linux内核发送请求以便运行程序的界面系统及程序,用户可以用shell来启动.挂起.停止甚至编写一些程序,shell还是一个功能强大的编程语言,shell是解释性的脚本语言,在shell中可以直接调用Linux命令. 2.shell脚本的用途 (1)自动化常用的命令 (2)执行系统管理和故障排除 (3)执行简单的应用程序 (4)处理文本或文件 3.shell的分类 (1

linux shell script: Basic concept01 - String

basic concept01: String本文所有的测试例如无特殊说明,均based on fish shell 就从字符串说起吧,啥是字符串就不用解释了,我们来看几个简单的例子 ?> ~ set param abc ?> ~ echo "string with blank and $param surrounded with double quotation marks" string with blank and abc surrounded with double

SSH防止暴力破解 shell script

这是我的第一个Shell Script,写的乱乱糟糟,试验了一下,还是可用的,目前已经在我自己的WEB服务器上跑起来了!!~~ #!/bin/bash #这个shell script 用来防止SSH暴力破解 #Auther:Aaron Guo #Date:Jan 8 2016 #Version:1.2 # 指定该SHELL的日志文件 logfile="/var/log/blocked_ip" # 获取现在时间,用来grep /var/log/secure. (格式:mm dd HH)

跟鸟哥学Linux之——shell script

从程序员的角度来看,Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作.在系统管理等领域,Shell编程起着不可忽视的作用.前期我对shell编程做了一个初步的认识,现总结如下: 思维导图: 知识分为了两部分: 基本知识: 在基本知识中我将其分为了:执行方法.运算式.变量和判断式四部分.1.执行方法就是在Linux中shell文件执行的命令,用的多了自然会没有问题.2

Linux08--Shell程序设计03 shell script

第一个Shell脚本——HelloWorld [[email protected] ~]# vi sh01.sh #!/bin/bash #!表明使用哪种shell # this is my first shell script #注释部分 echo -e "hello world!" exit 0 [[email protected]~]# sh sh01.sh #使用bash或者sh命令执行sh文件 hello world! 第二个Shell脚本——从终端接收用户输入到变量中 第三