Sponsored Content
Full Discussion: Read input from another tty
Top Forums Shell Programming and Scripting Read input from another tty Post 302686469 by bakunin on Tuesday 14th of August 2012 03:49:00 PM
Old 08-14-2012
First off, I'd like to warn you: using backticks is a very, very, bad idea: they are outdated, they have a lot of drawbacks, they are only supported for backwards compatibility purposes (with some scripts from the seventies) and you should forget that they exist. Instead of

Code:
`command`

use

Code:
$(command)

which does the same, only much better.

Quote:
Originally Posted by colinireland
reading in output from a terminal to a variable in the bash script.
terminals don't have output - only processes have output. If you start a process you can redirect its output to <stdout> and/or <stderr> (to your terminal, a file or the device another file descriptor points to). There is no way to redirect the output of a process you don't have started.

If you want to start an xterm and display the output of some process there, you have to:

1. create the terminal window
2. find out the device file attached to it
3. start your process and redirect its output to the device file in question.

I hope this helps.

bakunin
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to input escape sequences in Linux tty?

More details: Unicode, Framebuffer. I tried to press Esc and then what should follow, letters or brackets, but seems not to work. Probably i do something wrong. If somebody is familiar with escape sequences in the console, how do you do that? Thanks in advance. (4 Replies)
Discussion started by: Action
4 Replies

2. UNIX for Dummies Questions & Answers

read from terminal/keyboard > /dev/tty

Hi, I need to provide more than one character to "> /dev/tty" through terminal/keyboard input, I have this: ok=false while do echo " Enter r1 to reformat " > /dev/tty read choice case $choice in ) echo " bla bla bla " ;; done However, in this way,... (3 Replies)
Discussion started by: Gery
3 Replies

3. Shell Programming and Scripting

Read input

I have a script. #! /bin/bash echo "Enter a word: " read word echo $word That outputs like this.. Enter a word: hello hello But how can i read on the same line the question is printed? Like this.. Enter a word: hello hello (2 Replies)
Discussion started by: cbreiny
2 Replies

4. Shell Programming and Scripting

Help with Bash piped while-read and a read user input at the same time

Hi I am new to writing script and want to use a Bash Piped while-read and read from user input. if something happens on server.log then do while loop or if something happend on user input then do while loop. Pseudocode something like: tail -n 3 -f server.log | while read serverline || read... (8 Replies)
Discussion started by: MyMorris
8 Replies

5. Shell Programming and Scripting

Read Input and go BG

My script needs to get some input from the user and go as a background process and run. I have something like read input. do while ... if .. fi done can i use nohup inside the script?? (7 Replies)
Discussion started by: Antergen
7 Replies

6. Ubuntu

Kernel panics : trying to write / read on tiny tty driver

I'm a beginner to the Linux programming and trying my hands on some device driver examples while practising. The below code (a trimmed down version of tiny_tty.c from ldd3 book) loads perfectly using insmod and I'm able to see it in /proc/tty/drivers , /proc/modules and device nodes are getting... (1 Reply)
Discussion started by: diwsdiwa
1 Replies

7. Shell Programming and Scripting

Read input files and merge them in given order and write them to input one param or one file

Dear Friends, I am looking for a shell script to merge input files into one file .. here is my idea: 1st paramter would be outfile file (all input files content) read all input files and merge them to input param 1 ex: if I pass 6 file names to the script then 1st file name as output file... (4 Replies)
Discussion started by: hyd1234
4 Replies

8. Shell Programming and Scripting

Using read for input over ssh

Hi, I'm using read in a script to prompt and receive input. read -r -p "Do you also want to deploy folder? " response This works fine, however, if I remotely execute the same script via ssh, at this point in the code, I don't see the message at all, but it waits for input. I could echo... (1 Reply)
Discussion started by: say170
1 Replies

9. Shell Programming and Scripting

Read input from Keyboard, do not proceed if no input

Hi, I am working on a script, which requests users to enter input. Ex: read -p "Please enter your email id:" email I don't want users skipping this entry, this has to be mandatory.I dont want to proceed without input. I can do a check if variable $email is empty and proceed if not.But, i... (7 Replies)
Discussion started by: aravindadla
7 Replies

10. Shell Programming and Scripting

Python: Redirecting to tty and reading from tty

In bash, you can do something like this: #!/bin/bash echo -n "What is your name? " > /dev/tty read thename < /dev/tty How can I do the same in python? I have a python script that has the following content: #!/usr/bin/python2.7 import getpass import sys import telnetlib import... (2 Replies)
Discussion started by: SkySmart
2 Replies
getlogin(3C)															      getlogin(3C)

NAME
getlogin(), getlogin_r() - get name of user logged in on this terminal SYNOPSIS
DESCRIPTION
The function retrieves the name of the user currently logged in on a terminal associated with the calling process, as found in user- accounting database maintained by utmpd(1M). At least one of the standard input, standard output, or standard error must be a terminal. For the first of these found that is a termi- nal, a user must have logged in on that terminal, and that terminal must be the controlling terminal of the session leader process of the calling process's session. The function can be used in conjunction with to locate the correct password file entry when the same user ID is shared by several login names. The recommended procedure to obtain the user name associated with the real user ID of the calling process is to call and if that fails, to call To get the user name associated with the effective user ID, call performs the same operations as but returns the login name in the buffer to which buf points, whose size in bytes should be passed in buflen. buf should have space for the name and the terminating null character. The maximum size of the login name can be obtained using the API with as the argument. APPLICATION USAGE
The return value from points to static data whose content is overwritten by each call. RETURN VALUE
Upon successfully finding and validating the login name of the user logged in on the terminal, returns a pointer to the name. Otherwise, it returns a null pointer, and sets to indicate the error. Upon successfully finding, validating, and copying to the buffer the login name of the user logged in on the terminal, returns 0 upon suc- cess and returns an error number upon failure. ERRORS
and fail if any of the following is true: [EACCES] Access permission to get the status of the terminal device file, was denied. [EMFILE] Too many file descriptors are in use by this process. [ENFILE] Too many file descriptors are in use on the system. [ENOENT] The terminal device file cannot be found. [ENOTTY] None of the standard input, standard output, or standard error is a terminal, or for the first of these that is a terminal, no current login is registered on that terminal, or the session leader process of the calling process has no controlling terminal. [EPERM] One of the standard input, standard output, or standard error is a terminal, and a current login was found on that terminal, but that terminal is not the same as the controlling terminal of the session of the calling process. [ESRCH] The session leader process of the calling process is no longer running. The error condition associated with [EPERM] prevents processes that have access to some other user's terminal from believing that they are related to that other user's login session. also fails if the following is true: [ERANGE] The length of the name to be returned, including the terminating null byte, exceeds buflen. WARNINGS
Users of should note now conforms with the POSIX.1c Threads standard. The old prototype of is supported for compatibility with existing DCE applications only. SEE ALSO
utmpd(1M), getuid(2), sysconf(2), getgrent(3C), getpwent(3C), thread_safety(5). STANDARDS CONFORMANCE
getlogin(3C)
All times are GMT -4. The time now is 10:34 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy