passfuncs.sh 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. # Functions and aliases for working wtih pass(1)
  2. #
  3. # Usage:
  4. # source passfuncs.sh
  5. #
  6. # passurl pass-name # print url
  7. # passuser pass-name # print user
  8. # passopen pass-name # print username, copy pasword to clipboard, open URL
  9. #
  10. # define browser to use
  11. export passBrowser=google-chrome
  12. passurlFunc () {
  13. # print the URL for a password stored in pass
  14. #
  15. # Assumes the URL is stored in a line like:
  16. #
  17. # url: https://example.com
  18. pass $1 | grep '^url:' | sed 's/^[ \t]*url:[ \t]*//i'
  19. }
  20. passuserFunc () {
  21. # print the username for a password stored in pass
  22. #
  23. # Assumes the username is stored in a line like:
  24. #
  25. # username: FOO
  26. pass $1 | grep '^username:' | sed 's/^[ \t]*username:[ \t]*//i'
  27. }
  28. passopenFunc () {
  29. # Print username, copy password to clipboard, open url in browser
  30. #
  31. # Assumes the URL is stored in a line like:
  32. #
  33. # username: FOO
  34. echo -n username: " "
  35. passuserFunc $1
  36. pass -c $1
  37. $passBrowser `passurl $1` &
  38. }
  39. alias passurl=passurlFunc
  40. alias passuser=passuserFunc
  41. alias passopen=passopenFunc