Ⅰ 用shell读取一个配置文件,文件里面如果设置两个变量,又如何用shell读取这两个变量
你不用读取这个配置文件, 直接加载文件即可。
如在param中定义了
A=1
B=3
你需要在myshell中获取param文件中的变量, 可以这样写
. /PATH/param (或者source /PATH/param)
echo $A $B
Ⅱ shell脚本怎样读取文件的值,并赋值给变量
在sell脚本中,读取键盘输入的内容并将其赋值给shell变量的命令为:
read -p "input a val:" val echo $val
read - 从标准输入读取数值。这个 read 内部命令被用来从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用 重定向的时候,读取文件中的一行数据。
它的语法形式一般是:
read [-options] [variable...]
(2)shell使用文件中的变量扩展阅读:
Shell是一种脚本语言,常见的脚本解释器有:
bash:是linux标准默认的shell。bash由Brian Fox和Chet Ramey共同完成,是BourneAgain Shell的缩写,内部命令一共有40个。
sh: 由Steve Bourne开发,是Bourne Shell的缩写,sh 是Unix 标准默认的shell。
常见的编程语言分为两类:一个是编译型语言,如:c/c++/java等,它们远行前全部一起要经过编译器的编译。
Ⅲ 如何在shell脚本中使用变量
变量的定义,只能以字母和下划线开始,区分大小写,可以包含数字 字母下划线.详见官方手册
复制代码代码如下:
[root@svn shell_example]# yourname='Linux'
[root@svn shell_example]# echo $yourname
Linux
[root@svn shell_example]# YourName="linux"
[root@svn shell_example]# echo "The variable is $YourName"
The variable is linux
获取当前日期的脚本,常用在日志切割中,为了区分每天的日志文件
如下 生成2015年4月27日
复制代码代码如下:
[root@svn shell_example]# echo `date +%Y%m%d`
20150427
[root@svn shell_example]# cat today.sh
#!/bin/bash
TODAY=`date +%A`
YEAR=`date +%Y年%m月%d日`
echo "今天是 $YEAR, $TODAY"
[root@svn shell_example]# sh today.sh
今天是 2015年04月27日, 星期一
从键盘获取用户的输入,如下脚本执行后脚本直接等待用过户输入,直到用户输入完成 并回车,脚本获取到用户的输入并将结果打印出来.
复制代码代码如下:
[root@svn shell_example]# cat var.sh
#!/bin/bash
read myvar
echo "myvar is $myvar
执行结果如下
[root@svn shell_example]# sh var.sh
Linux
myvar is Linux
[/code]
带提示信息的从键盘获取用户输入
复制代码代码如下:
#!/bin/bash
#从键盘获取用户信息,并打印出来.
echo -n 'Enter Your Name:' #-n 选项表示不换行.
read name
echo "Hi $name"
sh name.sh
Enter Your Name:linux
Hi linux
升级版脚本,此脚本成功的接受了用户的2个参数 姓和名字,并将输入打印在屏幕上
代码内容如下
复制代码代码如下:
[root@svn shell_example]# cat firstname.sh
#!/bin/bash
pw="123"
echo
echo "+========用户登录=========+"
echo
echo -n "请输入您的用户名: "
read fname lname
echo -n "请输入您的密码: "
read passwd
echo "尊敬的会员$fname $lname,您好!您已登录成功"
[root@svn shell_example]# sh firstname.sh
Ⅳ shell如何读取文件中变量值
|1
2
3
4
5
6
#!/bin/bash
#使用方法:内./script.sh filename
a=$(sed -n '$p' $1 |容 awk -F"," '{print $1}')
b=$(sed -n '1!P;N;$q;D' $1 | awk -F"," '{print $1}')
echo $a
echo $b
Ⅳ 请教大神shell的for in语句中怎么使用多个变量
如果是bash,,可以用自for (( expr1; expr2; expr3 )) 这种循环语法来实现。比如for (( i=1, j=7; i<5 && j >3; i++, j-- )),do,,echo "i $i, j $j",done。注意变量名内称的第一个字符容不可以是数字,但是可以是下划线。要使用变量的值,在变量前面加上$符号即可。
使用% :%表示参数,参数是在运行批处理文件时在文件名后加的字符串。变量可以从 %0到%9,%0表示文件名本身,字符串用%1到%9顺序表示。
(5)shell使用文件中的变量扩展阅读
shell脚本中的if多条件语句
在shell中条件语句是“if-then”,if语句后面是一个命令执行度结束的退出状态码是0,则执行then部分的命令,否则then不执行;fi是if的结束标志。if语句的嵌套使用和其他语言基本一致,直接在if中继续使用if语句即可。
嵌套的层数没有限制,但最好不要过多的层数,这样会让代码显得比较混来,难以理解,多个版条件判断使用“ifthen-elifthen”,这里和其他编程语言不同,最后可以加else也可以不加else。