#!/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)) | |