【发布时间】:2014-10-21 21:09:22
【问题描述】:
Debian 测试、bash...
我正在尝试从现有程序中加载变量。
设置程序变量
xPROGS="$(echo -e "exiftool\nrsync\nxsel")"
尝试使用 x(程序名称)创建变量
echo "$xPROGS" | while read z; do x$z="$(whereis -b "$z" | awk '{print $2}')" ; done
错误;
bash: xexiftool=/usr/bin/rsync: No such file or directory
bash: xrsync=/usr/bin/rsync: No such file or directory
bash: xxsel=/usr/bin/rsync: No such file or directory
这行得通;
$ whereis -b rsync | awk '{print $2}'
我无法成功更改变量名。
有人可以帮忙吗。
【问题讨论】:
-
报错信息是因为 bash 不将命令 (x$Z=...) 理解为变量赋值。因此理解为一个名为“xexiftool=/usr/bin/rsync”的外部命令来加载和运行。