feature(console) change directory && do something

This commit is contained in:
coderaiser 2014-07-25 04:06:47 -04:00
parent a6c278a574
commit 805f0e3554

View file

@ -279,15 +279,18 @@
var isChangeVolume = win.isChangeVolume(command),
isVolume = win.isVolume(command),
paramDir = Util.rmStr(command, 'cd '),
isRootOrHome = equalPart(paramDir, ['/', '~']),
getDir = WIN ? 'chdir' : 'pwd';
isRootOrHome = equalPart(paramDir, ['/', '~']);
if (!isRootOrHome && !isChangeVolume || isVolume) {
paramDir = path.join(currDir, paramDir);
command = 'cd ' + paramDir;
command = dropFirstWord(paramDir);
paramDir = getFirstWord(paramDir);
paramDir = path.join(currDir, paramDir);
command = 'cd ' + paramDir + command;
}
exec(command + ' && ' + getDir, {cwd : paramDir}, function (error, stdout, stderr) {
exec(command, {cwd : paramDir}, function (error, stdout, stderr) {
var errorStr = '';
if (stderr)
@ -297,11 +300,48 @@
callback(error || stderr, {
stderr : addNewLine(errorStr),
path : rmNewLine(stdout)
stdout : stdout,
path : paramDir
});
});
}
function getFirstWord(str) {
var number, word,
is = Util.isString(str);
Util.checkArgs(arguments, ['str']);
if (is) {
number = str.indexOf(' ');
if (~number)
word = str.substr(0, number);
else
word = str;
}
return word;
}
function dropFirstWord(str) {
var number,
is = Util.isString(str);
Util.checkArgs(arguments, ['str']);
if (is) {
number = str.indexOf(' ');
if (~number)
str = str.substr(number + 1);
else
str = '';
}
return str;
}
function log(connNum, str, typeParam) {
var ret,
type = ' ';