Сравните exec stdout с текстом, используя shelljs - PullRequest
1 голос
/ 26 апреля 2019

При запуске sh.exec('whoami') Я пытаюсь сравнить стандартный вывод, но он не работает.

Я хочу сделать, чтобы после запуска команды whoami результаты оказались конкретнымиПользователь, то я хотел бы вызвать действие.

При запуске,

sh.exec('whoami', (code, output) => {
  sh.echo(output == 'myusername'); // False
  console.log(output == 'myusername'); // False
});

Условие output == 'myusername' оценивается как ложное, хотя я полностью уверен, что это правда, так как я скопировалимя пользователя и поместите его в качестве сравниваемой строки.

Ожидаемым результатом будет то, что условие оценивается как истинное.

1 Ответ

0 голосов
/ 26 апреля 2019

Doing,

 console.log(sh.exec('whoami'));

Вы получите следующий вывод,

{ [String: 'username\n']
  stdout: 'username\n',
  stderr: '',
  code: 0,
  cat: [Function: bound ],
  exec: [Function: bound ],
  grep: [Function: bound ],
  head: [Function: bound ],
  sed: [Function: bound ],
  sort: [Function: bound ],
  tail: [Function: bound ],
  to: [Function: bound ],
  toEnd: [Function: bound ],
  uniq: [Function: bound ] 
}

Проблема была просто в новой строке.stdout идет с \n в конце.

...