Guest User

Untitled

a guest
Aug 20th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. How do I break up an extremely long string literal in bash?
  2. mycommand
  3. --server myserver
  4. --filename extremely/long/file/name/that/i/would/like/to/be/able/to/break/up/if/possible
  5. --otherflag
  6. --anotherflag
  7.  
  8. # Insufficiently pretty
  9. mycommand
  10. --server myserver
  11. --filename extremely/long/file/name/
  12. that/i/would/like/to/be/able/to/break/
  13. up/if/possible
  14. --otherflag
  15. --anotherflag
  16.  
  17. # Doesn't work
  18. mycommand
  19. --server myserver
  20. --filename extremely/long/file/name/
  21. that/i/would/like/to/be/able/to/break/
  22. up/if/possible
  23. --otherflag
  24. --anotherflag
  25.  
  26. file=extremely/long/file/name
  27. file+=/that/i/would/like/to/be/able/to/break
  28. file+=/up/if/possible
  29.  
  30. mycommand
  31. --server myserver
  32. --filename $file
  33. --flag flag
  34.  
  35. mycommand
  36. --server myserver
  37. --filename "extremely/long/file/name/"`
  38. `"that/i/would/like/to/be/able/to/break/"`
  39. `"up/if/possible"
  40. --otherflag
  41. --anotherflag
  42.  
  43. j(){sed -e ':a;$!N;s/ *n *//g;ta' <<<"$1"}
  44.  
  45. echo "$(j "3 spaces
  46. /hello
  47. /world
  48. /this
  49. /is
  50. /a
  51. /long
  52. /path
  53. ")"
  54.  
  55. # 3 spaces/hello/world/this/is/a/long/path
Add Comment
Please, Sign In to add comment