变量值及范围控制(六)

双引号与单引号
●"字符串..."
-在双引号内允许$扩展,可调用其他变量的值
-出现特殊字符时,可采用\符号转义
-当变量值不包括空格、制表符时,双引号通常被省略
●‘字符串...‘
-所有字符均视为该字符本身(无特殊含义)
-不允许\转义

利用双引号赋值
●将变量A赋值给变量B

●有空格时,引号不可能省略

利用单引号赋值
●有利用保存特殊字符

read读入变量值的用法
●基本格式
-read 变量名...
-read -p "提示信息" 变量名(方便添加自定义交互)

默认取值
●启动read命令的-s选项
-关闭输入回显(从键盘录入信息时,不显示在屏幕上)
-适合读入敏感信息,提高安全性

变量的作用范围
●局部变量
-只在定义此变量的当前Shell环境下有效
-自定义变量默认都是局部变量
●全局变量
-在当前Shell及所有的子Shell环境下都有效
-子Shell中若赋值同名变量,与父Shell中的变量无关

发布全局变量
●export 局部变量名[=变量值]...
-直接定义/赋值指定的变量,作为全局变量
-对已有的局部变量,只需发布不需赋值

取消全部变量
●export -n 全局变量名...
-取消变量的全局属性
-此操作对局部斌良无实际意义

原文地址:https://blog.51cto.com/14449563/2425423

时间: 2024-10-13 06:33:40

变量值及范围控制(六)的相关文章

关于变量值为TRUE或FALSE控制事件

一个集合的点击事件,点击产生效果,再点击效果消失,如此反复,集合里的一个元素功能实现可用一个变量的true或false实现.如下图: 但此方法在点击不是同一个li时,变量值会变为非原始值.所以需点击两次才能实现功能.应判断是否点击的是同一个元素,如不是,需添加代码,修改如下:

JavaScript交换两个变量值的七种解决方案

前言 这篇文章总结了七种办法来交换a和b的变量值 1 2 var a = 123; var b = 456; 交换变量值方案一 最最最简单的办法就是使用一个临时变量了,不过使用临时变量的方法实在是太low了 1 2 3 4 var t; t = a; a = b; b = t; 首先把a的值存储到临时变量中,然后b赋值给a,最后拿出临时变量中的a值赋给b,这个办法是最基本的了 交换变量值方案二 下面的方案都不会有临时变量,我总结了一下,其实不使用临时变量的思路都是让其中一个变量变成一个a和b都有

ORACLE获取SQL绑定变量值的方法总结

  本文总结一下ORACLE数据库中如何获取SQL绑定变量值的方法,在SQL优化调优过程中,经常会用到这方面的知识点.在此梳理.总结一下,方面日后查找.翻阅. 方法1:查询V$SQL V$SQL视图中的BIND_DATA字段用来存储绑定变量的值,但是从这个视图查询绑定变量的值,有很大的局限性: 1: 它的记录频率受_cursor_bind_capture_interval隐含参数控制,默认值为900,表示每900秒记录一次绑定值,也就是说在900内,绑定变量值的改变不会反应在这个视图中.除非你调

不借助第三个变量交换a,b两个变量值

从一个面试题说起... 一个很经典的答案是通过异或来解决 a=a^b; b=a^b; a=a^b; 关键字 [ "异或", "逻辑运算符", "乔治·布尔", "香农" ] 先决条件 0为假,1为真 插曲>>>如果读到"0为假,1为真",心底肯定略过了,这谁都知道的啊... 但是如果是写出来,但是找不到出处.即使常识也不太肯定了... "^":对应逻辑运算异或(XOR)

如何不利用一个额外的变量来达到交换两个变量值的目的-------位上的异或运算

问题:一般我们要交换两个变量的值,多会采取一个额外变量来实现,比如temp=a,a=b,b=temp,现在我们能不利用temp来实现交换a,b两个变量值的目的吗? 解决方案:^异或运算符,而且我们会发现a^a=0,还有0^a=a,依据这两条理论,我们可以实现之前提出的问题. 代码如下: #include<stdio.h>void inplace_swap(int * x,int * y){    *y=*x^*y;    *x=*x^*y;    *y=*y^*x;}int main(){  

Eclipse中debug时鼠标悬停不能查看变量值的问题

问题描述:eclipse在debug模式下,当鼠标移动到某个变量上面时不自动显示该变量对应的值 解决方案:点击eclipse的Window->Preferences->Java->Editor->Hovers, 勾选Variable Values,(如果Combined Hover已经选择了,就取消它), 然后点击Apply,最后点OK.有时不需要勾选Variable Values也能查看变量值,所以勾不勾选多试几下,debug可能就好了. Hovers主要是来用配置当鼠标移动到工

不借助第三者变量值的互换

import java.util.Scanner;public class Triangle { public static void main(String[] args){ Scanner scan=new Scanner(System.in);//创建扫描器 System.out.println("enter A:"); long A=scan.nextLong();//接收第一个变量值 System.out.println("enter B:"); long

Java随笔:使用异或操作交换变量值的风险

在面试中,经常会问到“如何不用中间变量交换两个变量值”. 看看下面这个代码输出是什么: int x = 1984; int y = 2001; x^=y^=x^=y; System.out.println("x="+x+";y="+y); 看上去应该很完美的:x=2001;y=1984 实际输出是:x=0;y=1984 问题出在哪里?是的,就是JVM的编译器. 看看实际的汇编: Code: 0: sipush 1984 3: istore_1 4: sipush 2

微信小程序----关于变量对象data 和 前端wxml取后台js变量值

(一)页面变量对象data 对象data 有两个方面用途 第一,前端wxml的数据渲染是通过设置此对象中定义的变量进行关联展现的 第二,定义JS页面中的页面局部变量,使其整个页面中可使用或调用 对象data定义的变量支持各种数据类型,string,int,[],{} 第一.wxml数据渲染,只要通过设置data值(this.setData({...}))即可 如: wxml页面:detail对象中包含有TaskBillCode与BillDate两个属性 js页面: 第二.页面变量 定义: 存储: