1 干溶液
$> cat translog.txt
ONE="000012"
TIME="2013-02-19 15:31:06"
使用perl
正则表达式可以使用后向grep
运算符匹配这些值 。
$> grep --only-matching --perl-regex "(?<=ONE\=).*" translog.txt
"000012"
对于TIME
:
$> grep --only-matching --perl-regex "(?<=TIME\=).*" translog.txt
"2013-02-19 15:31:06"
因此,从test2.sh
使用脚本开始,您可以像这样使用它:
#!/bin/bash
ONE=`grep --only-matching --perl-regex "(?<=ONE\=).*" translog.txt`
TIME=`grep --only-matching --perl-regex "(?<=TIME\=).*" translog.txt`
2 命令行解决方案
以下链接中指出的另一种解决方案是使用:source
(aka .
) 命令将文件中的所有变量加载到当前 shell 中:
$ source translog.txt
现在您可以访问文件中定义的变量的值:
$ echo $TIME
"2013-02-19 15:31:06"
3 最简单的解决方案
@user2086768 提到了另一种方法。将这些行放入`test2.sh:
#!/bin/bash
eval $(cat translog.txt)
因此,您将在test2.sh
脚本中分配两个变量:
ONE="000012"
TIME="2013-02-19 15:31:06"
您可以轻松检查是否添加:
echo $ONE
echo $TIME
还要检查这些链接: