How to pause terminal in D on Linux?

WhatMeWorry via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Jul 23 12:08:00 PDT 2016


What I thought would be trivial is becoming a nightmare. Can 
anybody set me straight.  Thanks in advance.

void writeAndPause(string s)
{
     writeln(s);
     // writeln("Press any key to continue...");  // works fine on 
Windows
     // executeShell("pause");                    // works fine on 
Windows

I tried the following read command and it works great in a Ubuntu 
shell:
read -rsp $'Press any key to continue...\n' -n 1 key

but when I put it in executeShell it doesn't pause and returns

executeShell(`read -rsp $'Press any key to continue...\n' -n 1 
key`);
executeShell("read -rsp $'Press any key to continue...\n' -n 1 
key");

returns /bin/sh: 1: read: Illegal option -s


I tried the spawnShell...

auto pid = spawnShell(`read -n1 -r -p "Press any key to 
continue..." key`);
wait(pid);

  returns  /bin/sh: 1: read: Illegal option -n
}


More information about the Digitalmars-d-learn mailing list