linux shell编程对变量的赋值

shell对变量的赋值,所有的变量都是由字符串组成,不需要对变量名预先声明,而且有很多关键字供编程者使用。下面列举例子详细说明。 在终端下建立文件 #vi s2.sh

#!/bin/sh

#set a variable a

a="hello world"

#print a

echo "A is :"

echo $a

在这个程序当中,可以看到shell编程与C编程的区别,没有那么严格的语法,在每句不需要加“;”,

而且在shell中引用变量的.时候前面加“$”。

1 当变量名与其他文字混淆的时候,需要加“{}”

#!/bin/sh

# set a variable num

num=2

echo "the variable num is $numnd"

运行程序后,答案并不是 the variable num is 2nd,而是什么都没有输出。因为bash会寻找numnd变量,但是并没有给这个变量赋值。所以将程序改为:

echo "the variable num is {$num}nd"

2 默认变量

$#:传入脚本的命令行参数个数

$*:所有命令行的参数值,而且各个参数值之间有空格表示

$0:命令本身,就是要执行的shell文件名

$1:第一个命令行参数

$2:第二个命令行参数

$3

$4

example:

#!/bin/sh

echo "number of vars:"$#

echo "number of vars:"$0

echo "number of vars:"$*

echo "number of vars:"$1

echo "number of vars:"$2

echo "number of vars:"$3

运行./file 11 22 33

输出结果:

3

file

11 22 33

11

22

33

3局部变量

在变量首次赋值是加关键字local可以声明为局部变量。

#!/bin/sh

hello="aa"

echo $hello

function fucn1{

local hello="bb"

echo $hello

}

func1

echo $hello

linux变量赋值取值,linuxshell编程对变量的赋值相关推荐

  1. KVC的使用(对一个对象的成员变量进行操作(赋值/取值))

    切记:请求的数据要存在相应的类中,不能在加载试图中请求数据 KVC就是对请求数据的一个简化 MainViewController.m #import "MainViewController. ...

  2. ASP.Net TextBox只读时不能通过后台赋值取值

    ASP.Net TextBox只读时不能通过后台赋值取值 今天在开发一个asp.net的页面遇到了TextBox设置了ReadOnly属性,在js中赋值后,后台代码取不到值的情况,经过在网上查找,找到 ...

  3. TextBox只读时不能通过后台赋值取值解决办法

    给页面的TextBox设置ReadOnly="True"时,在后台代码中不能赋值取值,下边几种方法可以避免: 1.不设置ReadOnly,设置οnfοcus=this.blur() ...

  4. jquery简单赋值取值

    jquery简单赋值取值 jQuery 取值.赋值的基本方法 2018年05月05日 ⁄ 综合 ⁄ 共 5260字 ⁄ 字号 小 中 大 ⁄ 评论关闭 /获得TEXT.AREATEXT的值/ var ...

  5. python二维字典简单赋值取值

    python二维字典简单赋值取值 一维字典 二维字典 访问二维字典 字典和列表的区别 小白一个,记录python二维字典的学习 一维字典 字典是用花括号来定义的,比如 dict = {'姓名':'汪汪 ...

  6. jQuery循环赋值 取值

    jQuery循环赋值 取值 for循环 for (var i = 0; i < files.length; i++) {var item = $("<div class=\&qu ...

  7. 搭建Redis服务器: 设置变量school,值为tarena 查看变量school的值

    1.1 问题 具体要求如下: 在主机 192.168.4.51 上安装并启用 redis 服务 设置变量school,值为tarena 查看变量school的值 1.2 步骤 实现此案例需要按照如下步 ...

  8. linux修改某个用户的数组,linux-shell编程1:变量和数组

    Shell 用户与系统内核之间交流平台 Shell类型 /bin/sh /bin/bash(系统默认bash) /bin/tcsh /bin/csh /etc/shells 放置当前系统可用shell ...

  9. shell中变量的取值与赋值

    取值是很简单的,例如var=bbb,那么${var}ccc的结果就是bbbccc,在包含字符串的时候要用到三种引号,分别是单引号.双引号和反引号,现来一一讨论 一.整体引用 mv "a ~f ...

最新文章

  1. 计算机信息技术在教学中的发展,浅析计算机在信息技术教学中的应用
  2. Mybatis集成二级缓存与同时使用缓存与事务存在的坑
  3. vlc-android配置实录
  4. MODEL COMPRESSION VIA DISTILLATION AND QUANTIZATION 论文笔记
  5. 音视频技术开发周刊 | 207
  6. 前后端敏感数据加密方案及实现_01
  7. js判断字符串是否为空_每日一课 | Python 如何判断一个字符串是否包含另一个字符串?...
  8. 希尔排序python 简书_数据结构_排序_直接插入+希尔排序
  9. 《MFC游戏开发》笔记八 游戏特效的实现(二):粒子系统
  10. 广联达提示盗版文件修复工具
  11. Centos7 Springboot 启动脚本
  12. 老司机教你如何优雅地完成一个小项目测试
  13. docker网络模式--资源分配叙述(1)
  14. node.js共享输液检测系统毕业设计源码131105
  15. 视网膜数据集(2)Messidor
  16. pfamscan 的使用_科学网—[转载]InterProScan的使用教程 - 黄顺谋的博文
  17. MATLAB打开后一直在初始化,或者初始化很慢问题
  18. 网络攻防之dns劫持与网页挂马(实测)
  19. Webuploader 多实例传参教程
  20. mscbsc移动通信论坛_通信围标、串标乱象,11个案例,403家企业被罚!

热门文章

  1. php 判斷數據庫表是否存在,phpl判斷mysq數據庫中的某個數據表是否存在的方法總結...
  2. python正则表达式group用法_【Python】正则表达式用法
  3. php页面怎么去登录,php中登录后跳转回原来要访问的页面实例
  4. 删除linux内核多余架构,删除多余Linux内核方法
  5. mysql 载入主体时出错_mysql遇到load data导入文件数据出现1290错误的解决方案
  6. ASCII,Unicode和UTF-8
  7. ifcfg-eth0 配置
  8. WINCE恢复默认HIVE注册表的方法
  9. python验证码重叠_用Python机器学习搞定验证码
  10. 【转】vs平台工具集介绍,vc6~vs2019各IDE对应的工具集版本