ファイルからユーザーとパスワードを取得し、スクリプトで使用する必要があります。
私のファイルは次のとおりです(netrcは私のファイル名です)。
machine ftp.test.net login test_user password test_pass
machine ftp1.test.net login test_user1 password test_pass1
ファイルにアクセスし、特定のコンピュータのユーザー名とパスワードを取得する関数を作成したいと思います。
ベストアンサー1
get_netrc_user () {
awk -v machine="$1" '$2 == machine { print $4 }' netrc
}
get_netrc_user () {
awk -v machine="$1" '$2 == machine { print $6 }' netrc
}
最初の関数は特定のコンピュータのユーザー名/ログインを取得し、2番目の関数はパスワードを取得します。
指示:
username=$( get_netrc_user 'ftp.test.net' )
password=$( get_netrc_pass 'ftp.test.net' )
ただし、get_netrc_pass
パスワードにスペースが含まれていないとします。その場合は、もう少し安全に変更できます。
get_netrc_user () {
awk -v machine="$1" '$2 == machine { sub(".*password ", "", $0); print }' netrc
}
これで、ファイル内の6番目のスペースで区切られたフィールドを返すのではなく、文字列の前のすべてのエントリpassword
(末尾にスペースを含む)を削除し、行の残りの部分を返します。パスワードに明らかにその文字列が含まれている場合、それでも失敗します。