㈠ shell怎么输出一个变量的值
如果文件中只有一个内容, a=`cat file` //将内容赋值给a 如果文件中有很多内容,那么你需要用for循环或者是while来挨个读取文件中的内容
㈡ 在shell编程中可以使用哪四种类型的变量
一、shell有两类变量:
1、临时变量
2、永久变量
二、两种特殊的变量
1、位置变量
2、特殊变量
㈢ 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}
第二次对变量赋值时不能在变量名前加$,只有在使用变量时才能加$。
㈣ linux下的Shell编程变量是怎样定义的...
shell变量比C语言中的变量简单得多,没有众多存储类及类型的限制,也不需要预先定义,然后才能赋值,可以在使用时"现在定义,现赋值".
shell有两种变量:环境变量和临时变量.环境变量是永久性变量,其值不会随shell脚本执行结束面消失.而临时变量是在shell程序内部定义的,其使用范围公限于定义它的程序,离开了本程序就不能再用,它而且当程序执行完毕,它的值也就不存在了.
㈤ 编写一个shell脚本输出$HOME,$0,$#,$$变量的值
直接在命令窗口输入:echo $HOME即可呀。
#!/bin/sh。
echo $HOME #当前用户的家目录。
echo $0 #调用程序第0个参数。
echo $# #忘记了。
echo $$ #打印父进程进程id。
(5)shell编程变量的值扩展阅读:
shell脚本:
打开文本编辑器(可以使用vi/vim命令来创建文件),新建一个文件test.sh,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了。
输入一些代码,第一行一般是这样:
#!/bin/bashecho"HelloWorld!"
"#!" 是一个约定的标记,告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。echo命令用于向窗口输出文本。
㈥ 在shell脚本中将变量的值作为命令行参数传给程序
fun(){
echo "$1"
}
fun "abc"
$1就代表了你传进去的第一个参数,$2当然就是第二个参数,fun就是你定义的函数名,后面的“abc”就是实参,即你说的变量,运行之后就会显示abc
㈦ shell 下几种常见的变量赋值方法
shell下变量的赋值方法一般是 variable=variable_value,但是在实际运用过程中,variable_value可以有多种方法具体如下:
variable=`command argument` 几个典型的例子:
用awk或者是cut 把指定的字段(用一定的分隔符分隔的字段)赋值给某个变量 variable=`awk '{print $n}' filename` 用cut也能实现类似的办法
用awk的substr函数把指定字段的某几个字符赋值给variable,看下边的例子: ifconfig |grep "inet addr" |awk '{print substr($2,6)}'
用for函数把指定范围的值赋值给变量 for i in `cat file.txt` do do sth here done 用代码块重定向: while read line do do sth here done < filename
代码块重定向:一次读取一行,文件中的字段如果用空格分开那么用代码块重定向处理后各个变量也用空格分开
㈧ shell编程,变量赋值问题
./表示执行当前目录下某个可执行文件,这个文件不一定是bash脚本,但是sh方式就只能执行shell脚本,如果一个二进制可执行程序你用sh ./binExample这种方式执行,会报错的。
㈨ shell变量的值做为另一个变量
i=0;a=$i;echo$a
㈩ Linux下的Shell编程变量是怎样定义的
linux shell变量的定义一般格式
变量名=变量值。
比如var=123
var=hello
var="hello world"
这些都是可以的,但是变量名第一个字符不能是数字,可以是下划线或者字母。
另外=两边不可以有空格。