mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-07-18 17:05:17 +00:00
feature(console) change directory && do something
This commit is contained in:
parent
a6c278a574
commit
805f0e3554
1 changed files with 46 additions and 6 deletions
|
|
@ -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 = ' ';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue