Chinaunix首页 | 论坛 | 博客
  • 博客访问: 381574
  • 博文数量: 114
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1219
  • 用 户 组: 普通用户
  • 注册时间: 2015-02-07 21:23
文章分类

全部博文(114)

文章存档

2018年(1)

2017年(5)

2016年(87)

2015年(21)

我的朋友

分类: 系统运维

2016-07-07 16:16:31


  1. 1. read
  2. 要读取来自键盘输入的变量,就是用 read 这个指令了。这个指令最常被用在 shell script 的撰写当中
  3. [root@linux ~]# read [-pt] variable
  4. 参数:
  5. -p :后面可以接提示字符!
  6. -t :后面可以接等待的『秒数!』
  7. 范例一:让使用者由键盘输入一内容,将该内容变成 atest 变量
  8. [root@linux ~]# read atest
  9. This is a test
  10. [root@linux ~]# echo $atest
  11. This is a test
  12. 范例二:提示使用者 30 秒内输入自己的大名,将该输入字符串做成 named 变量
  13. [root@linux ~]# read -p "Please keyin your name: " -t 30 named
  14. Please keyin your name: VBird Tsai
  15. [root@linux ~]# echo $named
  16. VBird Tsai

  17. 2.declare / typeset
  18. declare 或 typeset 是一样的功能,就是在宣告变量的属性。如果使用 declare 后面并没有接任何参数,
  19. 那么 bash 就会主动的将所有的变量名称与内容通通叫出来,就好像使用 set 一样
  20. [root@linux ~]# declare [-aixr] variable
  21. 参数:
  22. -a :将后面的 variable 定义成为数组 (array)
  23. -i :将后面接的 variable 定义成为整数数字 (integer)
  24. -x :用法与 export 一样,就是将后面的 variable 变成环境变量;
  25. -r :将一个 variable 的变量设定成为 readonly ,该变量不可被更改内容,也不能 unset

  26. 范例:
  27. 范例一:让变量 sum 进行 100+300+50 的加总结果
  28. [root@linux ~]# sum=100+300+50
  29. [root@linux ~]# echo $sum
  30. 100+300+50 <==咦!怎么没有帮我计算加总?因为这是文字型态的变量属性啊!
  31. [root@linux ~]# declare -i sum=100+300+50
  32. [root@linux ~]# echo $sum
  33. 450
  34. 范例二:将 sum 变成环境变量
  35. [root@linux ~]# declare -x sum
  36. 范例三:让 sum 变成只读属性,不可更动!
  37. [root@linux ~]# declare -r sum
  38. [root@linux ~]# sum=tesgting
  39. -bash: sum: readonly variable

  40. 数组属性 array 说明
  41. 某些时候,我们必须使用数组来宣告一些变量,这有什么好处啊?在一般人的使用上, 果然是看不出来有
  42. 什么好处的!不过,如果您曾经写过程序的话,那才会比较了解数组的意义~ 数组对写数值程序的设计师
  43. 来说,可是不能错过学习的重点之一哩!好!不啰唆~ 那么要如何设定数组的变量与内容呢?在 bash 里
  44. 头,数组的设定方式是:
  45. var[index]=content
  46. 意思是说, 我有一个数组名为 var , 而这个数组的内容为 var[1]=小明, var[2]=大明, var[3]=好明 ....
  47. 等等,那个 index 就是一些数字啦,重点是用中刮号 ([ ]) 来设定的。 目前我们 bash 提供的是一维数
  48. 组。老实说,如果您不必写一些复杂的程序, 那么这个数组的地方,可以先略过,等到有需要再来学习即
  49. 可!因为要制作出数组, 通常与循环或者其它判断式交互使用才有比较高的意义存在!
  50. 范例:设定上面提到的 var[1] ~ var[3] 的变数。
  51. [root@linux ~]# var[1]="small min"
  52. [root@linux ~]# var[2]="big min"
  53. [root@linux ~]# var[3]="nice min"
  54. [root@linux ~]# echo "${var[1]}, ${var[2]}, ${var[3]}"
  55. 比较有趣的地方在于『读取』,一般来说,建议直接以 ${数组} 的方式来读取

阅读(654) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~