| #!/usr/bin/env node |
| var which = require("../") |
| if (process.argv.length < 3) |
| usage() |
| |
| function usage () { |
| console.error('usage: which [-as] program ...') |
| process.exit(1) |
| } |
| |
| var all = false |
| var silent = false |
| var dashdash = false |
| var args = process.argv.slice(2).filter(function (arg) { |
| if (dashdash || !/^-/.test(arg)) |
| return true |
| |
| if (arg === '--') { |
| dashdash = true |
| return false |
| } |
| |
| var flags = arg.substr(1).split('') |
| for (var f = 0; f < flags.length; f++) { |
| var flag = flags[f] |
| switch (flag) { |
| case 's': |
| silent = true |
| break |
| case 'a': |
| all = true |
| break |
| default: |
| console.error('which: illegal option -- ' + flag) |
| usage() |
| } |
| } |
| return false |
| }) |
| |
| process.exit(args.reduce(function (pv, current) { |
| try { |
| var f = which.sync(current, { all: all }) |
| if (all) |
| f = f.join('\n') |
| if (!silent) |
| console.log(f) |
| return pv; |
| } catch (e) { |
| return 1; |
| } |
| }, 0)) |