_distp_eor.sh.skel 1.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #!/bin/bash
  2. shellfu import pretty
  3. #
  4. # dist.sh module to query /etc/os-release
  5. #
  6. _distp_eor__get() {
  7. #
  8. # Get field from /etc/os-release
  9. #
  10. local key=$1
  11. case $key in
  12. id) __distp_eor__rkey ID ;;
  13. name) __distp_eor__rkey NAME ;;
  14. ver) __distp_eor__rkey VERSION_ID ;;
  15. ver.x) __distp_eor__rkey VERSION_ID ;;
  16. ver.y) : ;;
  17. ver.z) : ;;
  18. cpe) __distp_eor__rkey CPE_NAME ;;
  19. "") mkusage -E KEY ;;
  20. *) return 1
  21. esac
  22. return 0
  23. }
  24. __distp_eor__rkey() {
  25. #
  26. # Get field from /etc/os-release
  27. #
  28. local key=$1
  29. local code
  30. local eor=/etc/os-release
  31. test -f "$eor" || {
  32. warn "os-release file not found: $eor?"
  33. return 3
  34. }
  35. code=$(grep -m1 "^$key=" "$eor") || {
  36. warn "no such key: $key in $eor"
  37. return 3
  38. }
  39. bash -n <<<"$code" || {
  40. warn "syntax error in os-release file: '$code'"
  41. return 3
  42. }
  43. debug -v key
  44. debug -v code
  45. ( eval "$code; echo \$$key" ) | grep .
  46. }
  47. _distp_eor__sfpi_compat() {
  48. #
  49. # True if this plugin should work here
  50. #
  51. test -r /etc/os-release
  52. }
  53. #shellfu module-version=__MKIT_PROJ_VERSION__