[问题]这样的shell怎么写?

sh/bash/dash/ksh/zsh等Shell脚本
回复
tolancs
帖子: 3
注册时间: 2006-11-06 12:17
送出感谢: 0
接收感谢: 0

[问题]这样的shell怎么写?

#1

帖子 tolancs » 2006-11-14 16:16

一个文件 viro:
DEF_ID=1
DEF_NODE=0
......


另外一个shell script要在运行时读取viro的变量定义,如何实现?
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

#2

帖子 eexpress » 2006-11-14 16:44

读行的简直麻烦。不如直接grep。再撩头去尾处理。awk也可以设置FS的分割符的。直接取$1,$2,不过反而也麻烦。
● 鸣学
tolancs
帖子: 3
注册时间: 2006-11-06 12:17
送出感谢: 0
接收感谢: 0

#3

帖子 tolancs » 2006-11-14 17:12

能说得具体一点吗
头像
laborer
帖子: 1016
注册时间: 2005-10-25 11:15
送出感谢: 0
接收感谢: 1 次
联系:

#4

帖子 laborer » 2006-11-15 23:51

一般比较简单的方法是

代码: 全选

#!/bin/sh

. viro
echo $DEF_ID
echo $DEF_NODE
......
也就是以bash的语法来解析这些变量定义,然后导入当前的环境中。
hreiser@oakland:~$ killall -9 wife
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser
xdsnet
帖子: 80
注册时间: 2006-02-28 15:44
送出感谢: 0
接收感谢: 0

#5

帖子 xdsnet » 2006-11-19 23:13

laborer的方法是比较标准的解决方案,当然,这要求没有命名冲突,如果有,还是需要文本分析的,你可以考虑用awk来分析。
回复

回到 “Shell脚本”