Add hash function for compatibility with sh/bash

This commit is contained in:
Mahmoud Al-Qudsi 2018-09-26 12:36:57 -05:00
parent d31cc08fd9
commit dbd228cc75
2 changed files with 11 additions and 0 deletions

View File

@ -68,6 +68,7 @@ fish 3.0 is a major release which brings with it both improvements in functional
- `test` and `[` now support floating point values in numeric comparisons.
- Autosuggestions try to avoid arguments that are already present in the command line.
- Variables may be used inside commands (#154).
- A `hash` function has been added for compatibiility with `sh` and `bash`
## Other significant changes
- Command substitution output is now limited to 10 MB by default (#3822).

10
share/functions/hash.fish Normal file
View File

@ -0,0 +1,10 @@
# Under (ba)sh, `hash` acts like a caching `which`, but it doesn't print
# anything on success. Its return code is used to determine success vs failure.
function hash
if not set -q argv[1]
echo "Usage: hash FILE" >&2
return 1
end
which $argv[1] 2>/dev/null 1>/dev/null
or printf "%s: not found!\n" $argv[1] >&2 && return 2 # ENOENT
end