日期:2014-05-16  浏览次数:20597 次

问两个linux shell变量赋值的问题:(1)通过输出结果(2)从文件中读取 谢谢!
1)如何把输出结果来给变量来赋值

例如通过某命令输出结果:
/usr/bin
/usr/lib

现在需要保存在变量var1和var2中(即令var1=/usr/bin     var2=/usr/lib),然后分别通过cd   $var1   和   cd   $var2进行下一步操作.
请问该如何实现呢?

2)如何从文件中读取相关值给变量赋值
假设一文件为:
usr       passwd
abc       123
cba       321
...

现在需要把文件中的关键字分别给变量赋值(即user1=abc,password1=123,user2=cba,password2=321,...)
请问该如实现呢?

在网上搜了很久还是一点头绪都没有,请各位给点建议吧,谢谢啦!

------解决方案--------------------
建立Linux用户账号

  使用文本编辑建立一个文本文件,文件名称myusers.list 内容如下:

  user1 123456

  user2 123456

  user3 123456

  user4 123456

  user5 123456

  user6 123456

  user7 123456

  user8 123456

  user9 123456

  注意:第一个字段为使用者名称;第二个字段为预设密码,中间必须用空格隔开。然后使用文本编辑建立另外一个文本文件,文件名称add-users.sh内容如下:

  #!/bin/bash

  for i in `awk '{print  $1} ' users.list `

  do

  useradd  $i

  grep "\ <&#8194;$i\> " users.list | awk '{print &#8194;$2} ' | passwd --stdin &#8194;$i

  done

  建立Linux用户账号:

  #chmod 775 add-users.sh

  #./add-users.sh

  

------解决方案--------------------
var1=`ls|sed -n '1p '`
var2=`ls|sed -n '2p '`

echo $var1
echo $var2