runShell function

Future<ProcessOutput> runShell(
  1. String command, {
  2. String? workingDirectory,
  3. Map<String, String>? environment,
  4. Duration? timeout,
  5. int? maxOutputBytes,
})

Run a shell command (via /bin/sh or cmd.exe).

Implementation

Future<ProcessOutput> runShell(
  String command, {
  String? workingDirectory,
  Map<String, String>? environment,
  Duration? timeout,
  int? maxOutputBytes,
}) async {
  if (Platform.isWindows) {
    return runCommand(
      'cmd.exe',
      ['/c', command],
      workingDirectory: workingDirectory,
      environment: environment,
      timeout: timeout,
      maxOutputBytes: maxOutputBytes,
    );
  }

  return runCommand(
    '/bin/sh',
    ['-c', command],
    workingDirectory: workingDirectory,
    environment: environment,
    timeout: timeout,
    maxOutputBytes: maxOutputBytes,
  );
}