作業中のリポジトリ内で単純な bash スクリプトを実行するために使用するメイクファイルがあります。mySQL データベースに自動的にログインする新しい make 呼び出しを試みています。ユーザー名とパスワードを既知の場所 ("/u/r/z/myid/.zinfo" など) の .zinfo ファイルに保存しています。このファイルの行を読み取って、次の形式のパスワードを取得しようとしています。
user = csj483
database = cs495z_csj483
password = fjlID9dD923
これは、メイクファイルから実行しようとしているコードですが、機能していません。シェルで同じコードを直接実行すると、問題なく動作するようです。make は単一の $$ を好まないため、二重の $$ を使用する必要があったことに注意してください。
login:
for line in $$(cat /u/z/users/cs327e/$$USER/.zinfo); \
do \
PASSWORD=$$line; \
echo $$PASSWORD; \
done
echo $$PASSWORD
この時点で、パスワードを取得しようとしています。これは、ループで PASSWORD が設定される最後の値である必要があります。誰かがパスワードを取得する簡単な方法を提案したり、コードのエラーを指摘したりできる場合は、感謝します。最終的には、データベース名も取得したいと思います。それについても助けていただければ幸いです。私は bash は初めてですが、他の多くの言語の経験があります。