2006-09-05 00:00:23 +08:00
|
|
|
|
2007-01-16 09:29:18 +08:00
|
|
|
function math --description "Perform math calculations in bc"
|
2006-09-05 00:00:23 +08:00
|
|
|
if count $argv >/dev/null
|
2006-11-18 00:24:38 +08:00
|
|
|
switch $argv[1]
|
|
|
|
case -h --h --he --hel --help
|
|
|
|
__fish_print_help math
|
|
|
|
return 0
|
|
|
|
end
|
|
|
|
|
2015-11-19 19:04:21 +08:00
|
|
|
# Stitch lines together manually
|
|
|
|
# we can't rely on BC_LINE_LENGTH because some systems don't have a bc version "new" enough
|
|
|
|
set -l out (echo $argv | bc | string replace -r '\\\\$' '' | string join '')
|
|
|
|
test -z "$out"; and return 1
|
2006-09-05 00:00:23 +08:00
|
|
|
echo $out
|
|
|
|
switch $out
|
|
|
|
case 0
|
|
|
|
return 1
|
|
|
|
end
|
|
|
|
return 0
|
|
|
|
end
|
|
|
|
return 2
|
2010-09-18 10:18:26 +08:00
|
|
|
|
2006-09-05 00:00:23 +08:00
|
|
|
end
|