1

Can anyone explain to me why this isn't working?

ls ~\ does show that cheatsheet is in the home directory

  1 #! /bin/bash
  2         let i=0
  3         cheatsheet="~/cheatsheet"
  4         until [ $i -eq $# ]
  5         do
  6                 grep -e $"$i" -e "^\s" $cheatsheet
  7                 i=$(expr $i + 1 )
  8         done    
  9         if [ -z $1  ]
 10         then 
 11                 grep -e "^\w" $cheatsheet
 12         fi 
sgp667
  • 1,797
  • 2
  • 20
  • 38

2 Answers2

1

Tilde doesn't expand in a double quoted variable context. You could use $HOME like

cheatsheet="$HOME/cheatsheet"
Elliott Frisch
  • 198,278
  • 20
  • 158
  • 249
1

Try

cheatsheet = "$HOME/cheatsheet"

Note: ~ cannot be used in variables.

Jonathan Davies
  • 882
  • 3
  • 12
  • 27