Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2014
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. sh /home/ubuntu/Desktop/test.sh -f /home/u/Desktop/ -p 'TEST'
  2.  
  3. #!/bin/bash
  4.  
  5. valid=0
  6. file_arg=""
  7. display_help=""
  8. column=""
  9. pattern=""
  10.  
  11. while getopts f:d:s:m: opt
  12. do
  13. case "$opt" in
  14. d) display_help=$OPTARG
  15. ;;
  16. f) file_arg=$OPTARG
  17. ;;
  18. c) column=$OPTARG
  19. ;;
  20. p) pattern=$OPTARG
  21. ;;
  22. *) valid=1
  23. break
  24. ;;
  25. esac
  26. done
  27.  
  28. if [ $valid -eq "0" ]
  29. then
  30. if [ $pattern != "" ]
  31. then
  32. cat $file_arg | grep $pattern
  33. else
  34. cat $file
  35. fi
  36. else
  37. echo -n "Usage: FILE -f <name> | COLUMN -> -c <name> | HELP -> -d | PATTERN -> -p <expression>"
  38. fi
  39.  
  40. #!/bin/bash
  41.  
  42. # switch around valid, convention is 1 == true and 0 == false
  43. valid=1
  44. file_arg=""
  45. display_help=""
  46. column=""
  47. pattern=""
  48.  
  49. # getopt patterns need to match following case statement
  50. while getopts f:d:c:p: opt;
  51. do
  52. case $opt in
  53. d) display_help=$OPTARG
  54. ;;
  55. f) file_arg=$OPTARG
  56. ;;
  57. c) column=$OPTARG
  58. ;;
  59. p) pattern=$OPTARG
  60. ;;
  61. *) valid=0
  62. break
  63. ;;
  64. esac
  65. done
  66.  
  67. # changed value to reflect true false convention
  68. if [ "$valid" -eq "1" ]
  69. then
  70. # string comparison in bash should be done using specific operators
  71. if [ -n "$pattern" ]
  72. then
  73. cat $file_arg | grep $pattern
  74. else
  75. # typo, this should be file_arg?
  76. cat $file_arg
  77. fi
  78. else
  79. echo -n "Usage: FILE -f <name> | COLUMN -> -c <name> | HELP -> -d | PATTERN -> -p <expression>"
  80. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement