Jai*_*chi 0 unix shell for-loop file variable-assignment
我在尝试从外部文件中获取变量值时遇到问题.我的问题是:是否有可能从for中读取文件中的值然后使用cut命令我可以在=之前得到信息,这将是变量之后的=将是值.这是我在下面尝试但不允许的:
for i in `cat $1`
do
`echo $i | cut -d= -f1`=`echo $i | cut -d= -f2`
done
Run Code Online (Sandbox Code Playgroud)
$ 1是作为参数传递的文件,它有3行,其中行有一个变量,格式值为variable = value.有没有办法我可以这样做,而不是需要获取变量名称,然后另一个条件为这些变量的值?或者即使我的代码是正确的,但只需要改变一些东西.
尝试:
source $1
Run Code Online (Sandbox Code Playgroud)
例:
$ cat file.txt
var1=123
var2=234
$ cat my.sh
#!/bin/bash
source $1
echo $var1
$ ./my.sh file.txt
123
Run Code Online (Sandbox Code Playgroud)
如果"for"循环对您来说非常重要,请使用"let".
for i in `cat $1`
do
let `echo $i | cut -d= -f1`=`echo $i | cut -d= -f2`
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39 次 |
| 最近记录: |