我有一个生成文件,用于在我正在处理的存储库中运行简单的 bash 脚本。我正在尝试进行新的 make 调用,它将自动将我登录到我的 mySQL 数据库。我的用户名和密码存储在一个已知位置的 .zinfo 文件中(例如“/u/r/z/myid/.zinfo”)。我正在尝试读取此文件的行以获取我的密码,其格式为:
user = csj483
database = cs495z_csj483
password = fjlID9dD923
这是我试图从 makefile 运行的代码,但它不起作用。如果我直接在 shell 中运行相同的代码,它似乎可以正常工作。请注意,我必须使用双 $$s 因为 make 不喜欢单的。
login:
for line in $$(cat /u/z/users/cs327e/$$USER/.zinfo); \
do \
PASSWORD=$$line; \
echo $$PASSWORD; \
done
echo $$PASSWORD
此时,我只是想获取密码,它应该是 PASSWORD 在循环中设置的最后一个值。如果有人可以建议一种更简单的方法来检索密码,或者在我的代码中指出我的错误,我将不胜感激。最终,我还想检索数据库名称,也将不胜感激。我是 bash 新手,但在许多其他语言方面经验丰富。