`

shell脚本 之 declare read

 
阅读更多

declare

核心语法:

-i 声明为整数

-a 声明未数组

-f 声明未函数

-r 声明未只读

以上是较为常用的,当然其他的可以通过 man declare 来获得

 

在默认情况下我们对于对象的声明字符串,若是希望得到数字整形类型的变量,那么就需要涉及到这次将的declare 

我们看个情况:

 

price=10

num=3

echo $price*num 

----------

10*3

 

若是申明为declare的话,那么就如下所示

inter12@inter12:/tmp$ declare -i price=10;

inter12@inter12:/tmp$ declare -i num=3;

inter12@inter12:/tmp$ declare -i total=$price*$num

inter12@inter12:/tmp$ echo $total

30

 

其实针对declare 还存在另一种方式来处理,直接来看代码

  1 #!/bin/bash

  2 #test declare and $(())

  3 

  4 

  5 userDeclare(){

  6 

  7     declare -i num=1;

  8     declare -i price=5;

  9     declare -i total=$num*$price

 10     echo 'declare style is result is ' $total;

 11 }

 12 

 13 

 14 userDouble(){

 15 

 16     num_d=1

 17     price_d=5

 18     total_d=$((num_d*price_d))

 19     echo "user double price is" $total_d

 20 }

 21 

 22 

 23 userDeclare

 24 userDouble

-----------------------------------------------

inter12@inter12:~/myshell/shell/declare$ ./test 

declare style is result is  5

user double price is 5

 

$((num_d*price_d)):代表执行其中的计算并返回结果 , 若为((num_d*price_d))则计算不返回结果,这里需要注意下!

 

交互式的命令 read 

这也是个很常用的命令,根据终端用户的不同输入,执行不同的脚本命令!

  1 #!/bin/bash

  2 

  3 echo '---------------this is the first line ---------------'

  4 echo '1.echo heihei while you selectd 1'

  5 echo '2.echo haha while you selectd 2'

  6 echo  -n 'Selections is '

  7 read selection

  8 

  9 if [ $selection = "1" ];then

 10     echo 'heihei'

 11 elif [ $selection = "2" ];then

 12     echo 'haha'

 13 else

 14    echo 'invalid option '

 15 fi

分享到:
评论

相关推荐

    跟老男孩学Linux运维:Shell编程实战

    815.6 awk实现计算 / 835.7 declare(同typeset)命令的用法 / 835.8 $[]符号的运算示例 / 835.9 基于Shell变量输入read命令的运算实践 / 84第6章 Shell脚本的条件测试与比较 / 926.1 Shell脚本的条件测试 / ...

    Linux运维-3.Shell编程-11shell基础-117declare声明变量类型.avi

    Linux运维-3.Shell编程-11shell基础-117declare声明变量类型.avi

    Shell脚本读取标准ini配置文件Demo

    主要介绍了Shell脚本读取标准ini配置文件Demo,本文直接给出代码实例,需要的朋友可以参考下

    编写一个弹出式菜单的shell程序 实现以下五个操作

    #!/bin/sh echo "******************************************************************" echo " * MENU *" ...declare -i i=1 while [ $i -eq 1 ] do echo "Please input a number(1-5):" read num case $num in

    shell脚本编程之数组

    shell支持稀疏数组,下标整数不需要连续。 声明方式:declare -a 数组名 2、关联数组 关联数组可以使用任意的字符串作为下标(不必是整数)来访问数组元素。bash4.0开始支持关联数组。 格式:数组名[任意

    学习shell必备(CN).chm

    一本深入学习shell脚本艺术的书籍 Mendel Cooper 春敏 杨 - 毅 黄 - 3.9.1 2006年5月26日 这本书假定你没有任何关于脚本或一般程序的编程知识, 但是如果你具备相关的知识, 那么你将很容易就能够达到中...

    高级Bash脚本编程指南.pdf

    一本深入学习shell脚本艺术的书籍 Mendel Cooper 春敏 杨 - 毅 黄 - 3.9.1 2006年5月26日 这本书假定你没有任何关于脚本或一般程序的编程知识, 但是如果你具备相关的知识, 那么你将很容易就能够达到中高级的...

    LinuxShell编程

    Linux Shell编程基础知识 目 录1、 Shell简介1.1. 什么是shell1.2. shell分类2、 Shell语法... Shell脚本文件的参数2.5.4. 函数的参数2.6. 类型变量2.6.1. declare 声明类型变量2.7. Shell文件中的交互功能2.8. 转义(\)

    Shell脚本读取ini配置文件的实现代码2例

    while IFS=’= ‘ read var val do  if [[ $var == \[*] ]]  then  section=$(echo $var | sed ‘s/^\[\(.*\)\]$/\1/’)  elif [[ $val ]]  then  if [ -z $section ];then  declare “${var}=$val”  else ...

    高级bash脚本编程指南(中英文合集)

    32.1. 非官方的Shell 脚本风格 33. 杂项 33.1. 交互式和非交互式的shells 和脚本 33.2. Shell 包装 33.3. 测试和比较: 另一种方法 33.4. 递归 33.5. 彩色脚本 33.6. 优化 33.7. 各种小技巧 33.8. 安全话题 ...

    Linux declare命令用法详解

    declare为shell指令,在第一种语法中可用来声明变量并设置变量的属性([rix]即为变量的属性),在第二种语法中可用来显示shell函数。若不加上任何参数,则会显示全部的shell变量与函数(与执行set指令的效果相同)。 ...

    shell算数运算

    算术运算UNIX shell范例精解。整数运算(declare和let命令) declare命令 可以用declare –i命令定义整型变量。如果给整型变量赋一个字符串值,则bash将把变量赋值为0。可以对已定义的整型变量执行算术运算(如果变量未...

    学习笔记---《shell从入门到精髓》张春晓

    与普通变量的区别在于可以在之后的其他脚本和程序中使用。 4,双引号(“”)存在保留字符$, \, `, "。 单引号(‘’)作为纯string。 反引号(``)键盘1左边,作为shell命令执行。()也有这个作用【相当于在此处...

    详解shell 变量

    脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell变量也遵循这个规则。 在Bash shell 中,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。这意味着,Bash ...

    SQL Server 数据库日常维护脚本 合集

    SQL Server 数据库日常维护脚本 合集 --备份 declare @sql varchar(8000) set @sql='backup database mis to disk=''d:\databack\mis\mis' +rtrim(convert(varchar,getdate(),112))+'.bak''' exec(@sql) --删除...

    qt自定义类型 Q_DECLARE_METATYPE与qRegisterMetaType

    如果要使自定义类型或其他非QMetaType内置类型在QVaiant中使用,必须使用该宏Q_DECLARE_METATYPE。 该类型必须有公有的 构造、析构、复制构造 函数 qRegisterMetaType 必须使用该函数的两种情况:1、如果非QMetaType...

    Advanced Bash-Scripting Guide <>

    32.1. 非官方的Shell 脚本风格 33. 杂项 33.1. 交互式和非交互式的shells 和脚本 33.2. Shell 包装 33.3. 测试和比较: 另一种方法 33.4. 递归 33.5. 彩色脚本 33.6. 优化 33.7. 各种小技巧 33.8. 安全话题 33.8.1. ...

    自定义控件控件的declare-styleable配置

    最近在模仿今日头条,发现它的很多属性都是通过自定义控件并设定相关的配置属性进行配置,于是便查询了解了下declare-styleable,下面我把自己的使用感受和如何使用进行说明下。 declare-styleable:declare-...

    DECLARE SQLCODE INT DEFAULT 0.pdf

    DECLARE SQLCODE INT DEFAULT 0.pdf

Global site tag (gtag.js) - Google Analytics