shell脚本定义变量
A. Linux下的Shell编程变量是怎样定义的...
shell变量比C语言中的变量简单得多,没有众多存储类及类型的限制,也不需要预先定义,然后才能赋值,可以在使用时"现在定义,现赋值".
shell有两种变量:环境变量和临时变量.环境变量是永久性变量,其值不会随shell脚本执行结束面消失.而临时变量是在shell程序内部定义的,其使用范围公限于定义它的程序,离开了本程序就不能再用,它而且当程序执行完毕,它的值也就不存在了.
B. shell脚本中定义值为*的变量
var="*"#转义一下
evalecho$var
或用:
var="*"
echo-e"$var"
或者用单引号屏蔽*的特殊含义:
echo'*'
C. shell脚本里的变量怎么加1
shell脚本中的整数型变量加1的方式如下:
#!/bin/sh
#本脚本测试shell脚本中整型变量自增加1的几种方法
#定义整型变量
a=1
echo$a
#第一种整型变量自增方式
a=$(($a+1))
echo$a
#第二种整型变量自增方式
a=$[$a+1]
echo$a
#第三种整型变量自增方式
a=`expr$a+1`
echo$a
#第四种整型变量自增方式
leta++
echo$a
#第五种整型变量自增方式
leta+=1
echo$a
#第六种整型变量自增方式
((a++))
echo$a
Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。
D. 如何正确在Linux Shell脚本中定义一个时间变量
1、创建脚本 test.sh,并入截图内容。
E. shell脚本变量的定义与赋值
定义变量
Shell 支持以下三种定义变量的方式:
variable=value
variable='value'
variable="value"
variable 是变量名,value 是赋给变量的值。如果 value 不包含任何空白符(例如空格、Tab 缩进等),那么可以不使用引号;如果 value 包含了空白符,那么就必须使用引号包围起来。使用单引号和使用双引号也是有区别的,稍后我们会详细说明。
注意,赋值号=的周围不能有空格,这可能和你熟悉的大部分编程语言都不一样。
Shell 变量的命名规范和大部分编程语言都一样:
变量名由数字、字母、下划线组成;
必须以字母或者下划线开头;
不能使用 Shell 里的关键字(通过 help 命令可以查看保留关键字)。
变量定义举例:
url=http://c.biancheng.net/shell/
echo $url
name='C语言中文网'
echo $name
author="严长生"
echo $author
使用变量
使用一个定义过的变量,只要在变量名前面加美元符号$即可,如:
author="严长生"
echo $author
echo ${author}
变量名外面的花括号{ }是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,比如下面这种情况:
skill="Java"
echo "I am good at ${skill}Script"
如果不给 skill 变量加花括号,写成echo "I am good at $skillScript",解释器就会把 $skillScript 当成一个变量(其值为空),代码执行结果就不是我们期望的样子了。
推荐给所有变量加上花括号{ },这是个良好的编程习惯。
修改变量的值
已定义的变量,可以被重新赋值,如:
纯文本复制
url="http://c.biancheng.net"
echo ${url}
url="http://c.biancheng.net/shell/"
echo ${url}
第二次对变量赋值时不能在变量名前加$,只有在使用变量时才能加$。
F. bash如何在一个脚本里引用另一个脚本定义的变量
其实不需要那么多脚本,只要一个脚本定义目录路径以及每个目录分别对应的属性,用export命令将这些变量导出为公共环境变量即可在任意脚本中引用。
比如专门用于定义变量的脚本可以这样写:
export folder1=/home/tester/1
export name1=a
export owner1=userA
export folder2=/home/tester/2
export name2=b
export owner2=userB
或者先定义好,再export:
folder1=/home/tester/1
name1=a
owner1=userA
export folder1;export name1;export owner1
这些变量就可以直接在操作目录的脚本中使用了。
G. 写shell 脚本的时候,怎样把标准输出定义到变量上(不是文件)
result=$(echo hello) 这样可以把echo结果保存到变量里,且不会在屏幕上输出
H. shell脚本中可以设置全局变量么
因为 管道符 会新建shell来执行后面的while语句,a的值在新建shell中被改写。
你这里 ls 的结果只有一条,所以while循环只执行一次就退出了,从新建shell回到原shell,a的新值不会被带出来,还是"hehe"。
用输入重定向来替换管道符就行了,例如可以这样:
a="hehe"
whilereadline
do
a="wuwu"
echo"$a"
done<`ls-ltr`
echo"$a"
I. 关于shell脚本变量设定的问题
#!/bin/bash
#来自DZ动力(verydz.com),代码第二行改为如下试下
a="+-*/"
set-f
J. 如何在shell脚本中使用变量
首先定义变量,然后使用变量
假设你定义了
VAR=5
然后你就可以使用这个VAR变量了
echo $VAR
显示的就是5
具体可以看下这个
http://www.360doc.com/content/14/0918/12/9075092_410412465.shtml