Advertisement
MrRockchip

morestuff 2

Jan 5th, 2024 (edited)
23
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. # Prints the lines of a command '$2' output which contain the text '$1'.
  2. grepcmd () {
  3. grepcmd_output="$( $2 )"
  4. printf "$grepcmd_output\n" | while IFS= read -r grepcmd_line
  5. do
  6. case "$grepcmd_line" in
  7. *"$1"*)
  8. printf '%s\n' "$grepcmd_line"
  9. ;;
  10. esac
  11. done
  12. return 0
  13. }
  14.  
  15. # Checks if a command '$2' output contains the text '$1'.
  16. grepcmd_check () {
  17. grepcmd_check_output="$( $2 )"
  18. printf "$grepcmd_check_output\n" | while IFS= read -r grepcmd_check_line
  19. do
  20. case "$grepcmd_check_line" in
  21. *"$1"*)
  22. return 0
  23. ;;
  24. esac
  25. done
  26. return 1
  27. }
  28.  
  29. # Trims the leading and trailing whitespace characters of '$1' variable.
  30. trimmer () {
  31. trimmer_line="$1"
  32. trimmer_line="${trimmer_line#"${trimmer_line%%[![:space:]]*}"}"
  33. trimmer_line="${trimmer_line%"${trimmer_line##*[![:space:]]}"}"
  34. printf "$trimmer_line\n"
  35. return 0
  36. }
  37.  
  38. # Prints the remaining free space at coreboot '$3' ROM using '$2' cbfstool.
  39. cbfs_freespacer () {
  40. cbfs_freespacer_line=$( grepcmd "(empty)" "$2 $3 print" )
  41. if grepcmd_check "empty" "
  42. cbfs_freespacer_line=${cbfs_freespacer_line#??????????????????????????????????????????????}
  43. cbfs_freespacer_line=${cbfs_freespacer_line%????}
  44. cbfs_freespacer_line=$( trimmer "$cbfs_freespacer_line" )
  45. cbfs_freespacer_line=$(( "$cbfs_freespacer_line" / 1024 ))
  46. printf "$cbfs_freespacer_line K\n"
  47. }
  48.  
  49. cbfs_freespacer "$1" "./build/cbfstool" "./build/coreboot.rom"
  50.  
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement