NAME prompt - display a prompt and wait for input from terminal SYNOPSIS prompt(str) TYPES str string return string DESCRIPTION When prompt(str) is called and input is from a terminal, the string str is displayed and execution is halted until a newline ends a line read from the input; the string formed by the characters in the line (other than the newline) is returned as the value of prompt(). Be careful when using prompt(str) while calc is being used as a shell script. Unless calc is run with the -p command line option, the prompt builtin will fail and return null. This is because when calc is running as a shell script, calc will close stdin run in in a non-interactive mode. The following shell script will always print "got null" because stdin will be closed by calc during startup: #!/usr/bin/calc -q -f # The prompt will ALWAYS FAIL and return a null value n = prompt("Test> "); if (isnull(n)) { print("got null"); } else { print("got " + n); } However the following shell script (note the -p before the -f in the 1st line) will be interactive, prompt with "Test> " and print the "got" result as expected: #!/usr/bin/calc -q -p -f n = prompt("Test> "); if (isnull(n)) { print("got null"); } else { print("got " + n); } EXAMPLE ; x = prompt("? "); ? 273 ; x "273" ; for (;;) {s = prompt("? "); if (s=="end") break; print "\t":eval(s)^2;} ? 3 9 ? 2 + 3 25 ? end LIMITS none LINK LIBRARY none SEE ALSO command, fgetfield, fgetline, fgetstr, unexpected ## Copyright (C) 1999,2023 Landon Curt Noll ## ## Calc is open software; you can redistribute it and/or modify it under ## the terms of the version 2.1 of the GNU Lesser General Public License ## as published by the Free Software Foundation. ## ## Calc is distributed in the hope that it will be useful, but WITHOUT ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General ## Public License for more details. ## ## A copy of version 2.1 of the GNU Lesser General Public License is ## distributed with calc under the filename COPYING-LGPL. You should have ## received a copy with calc; if not, write to Free Software Foundation, Inc. ## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ## ## Under source code control: 1995/12/18 12:34:58 ## File existed as early as: 1995 ## ## chongo /\oo/\ http://www.isthe.com/chongo/ ## Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/