2025-04-02 06:50:39 -04:00

51 lines
1012 B
JavaScript

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