On 14 March 2014 18:23, Chet Ramey <chet.ra...@case.edu> wrote: > On 3/14/14 12:11 PM, Reuben Thomas wrote: > > Tested in bash 4.3. > > > > $ foo > > ... a command is run > > $ hash > > hits command > > 0 /home/rrt/bin/foo > > $ rm `which foo` > > $ which foo > > /usr/bin/foo > > $ foo > > bash: /home/rrt/bin/foo: No such file or directory > > > > Why doesn't bash just remove the hashed path and do a normal PATH > search? I > > have to remove it manually. > > Look at the description of the `checkhash' option to `shopt'. It does what > you want; it's just not the default. >
Thanks. Why is it not the default? Shouldn't an optimisation (hashing PATH lookup) be transparent to the user by default? -- http://rrt.sc3d.org