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,670
  • 2
  • 19
  • 36

2 Answers2

1

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

cheatsheet="$HOME/cheatsheet"
Elliott Frisch
  • 191,680
  • 20
  • 149
  • 239
1

Try

cheatsheet = "$HOME/cheatsheet"

Note: ~ cannot be used in variables.

Jonathan Davies
  • 852
  • 2
  • 12
  • 26