Sponsored Content
Full Discussion: C shell program
Homework and Emergencies Homework & Coursework Questions C shell program Post 303015364 by zorro_phu on Tuesday 3rd of April 2018 02:59:35 PM
Old 04-03-2018
Linux C shell program

1. I've have to write a shell program that accepts Ctrl+T (in linux os in c language) and should print out the current time and date to the screen. I've written the following code but i've to type ^T individual rather than pressing ctrl+T(^T) to get the output. :

2. How do i make the shell program to react when i press ctrl+T without having to press enter. For the following code which i wrote requires me to press enter to execute the command

Code:
#include<stdio.h>
#include<time.h>
#include<unistd.h>
#include<string.h>
#include<unistd.h>
#include<stdlib.h>

int main(void){
		
	time_t t;
	char buffer[100];
	int count;
	
	printf("My Prompt$: ");
	fflush(stdout);
	
	for(;;){
		count = read(0,buffer,99);
		buffer[count] = '\0';
		
		if(strncmp(buffer,"^T",2)==0){
			time(&t);
			printf("%s\n",ctime(&t));
		}
		if(strncmp(buffer,"exit",4)==0){
			exit(0);
		}
		printf("My Promts$ : ");
		fflush(stdout);
	}	
}

Output:
[zorro@localhost Desktop]$ gcc hw8.c
[zorro@localhost Desktop]$ ./a.out
My Prompt$: ^T // have to type ^T
Tue Apr 3 14:47:10 2018

My Promts$ : ^T // when i pressed ctrl+T & have to press enter
My Promts$ : ^T
My Promts$ : exit
[zorro@localhost Desktop]$



4. Assumption University, Bangkok, Thailand, Wanchat.C, CE4207
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help me with this Shell Program

Now, am in a very tight situation here. I really dont expect anyone to understand but please, try your best. am trying to right a program that goes back to the previous entry to correct a mistake. heres what am trying to do. i write a program like this Name : James Holgston... (1 Reply)
Discussion started by: TRUEST
1 Replies

2. Shell Programming and Scripting

C shell Program

Hellow every body I am trying to write a very simple script in an executable file as following if ($?PWD) then echo "OK" else echo "No" endif but I am getting error during execution in c shell as synthax error at line 4 , unexpected end of file Please advise (2 Replies)
Discussion started by: Reza Nazarian
2 Replies

3. Programming

Shell Program

I am programming the following simple shell program. It works for the most part, things like 'ls' and 'ps' work just fine. However when I add options, (example, ls -l) it does not execute the command. Also, I've been trying to add an "exit" command, so that I don't have to use the iterrupt; but... (3 Replies)
Discussion started by: TexasGuy
3 Replies

4. Shell Programming and Scripting

shell program

How to write a shell script which takes 3 strings as positional parameters,first and second are file names and third is a directory.if the two files exist in `pwd` and they contain a specific pattern and their size is greater than 32 bytes,moves these files into directory? (1 Reply)
Discussion started by: rameshparsa
1 Replies

5. Shell Programming and Scripting

shell program

hello, i have problem in awk filter in shell to concatenate two string plz send me a solution as soon as possible from jyoti ardeshana (4 Replies)
Discussion started by: jyotiardeshana
4 Replies

6. Shell Programming and Scripting

very first shell program.

in the beginners book i have it gives an exercise to try. saying to make a script that examines the time. it should keep examining every second or so and say some sort of message. Can anyone help me get going. Thanks (3 Replies)
Discussion started by: bebop1111116
3 Replies

7. Shell Programming and Scripting

help with shell program

I want to print the value of variables a1, a2, a3 in for loop in the following program: a1=this a2=is a3=printed for((i=1;i<4;i++)) do var=a$i #w=`echo $var` e=${var} echo $e done But actually I get a1,a2,a3 as the output not the "this is printed" So the main question is if I... (3 Replies)
Discussion started by: adgarg
3 Replies

8. Shell Programming and Scripting

shell program

Iam having file 1 as wc -l file1 is 8 QWEERTYUU|7927836357398398398913 yuyuyu uyiuyuyuyuy yuiyuiyuyuyy FDHGFSHAJK|1476887897877777777771 iopwiiwpoi e . . . . I Need to read the abouve line in file1 so iam using the command as tail -n 8... (8 Replies)
Discussion started by: nivas
8 Replies

9. Shell Programming and Scripting

Shell Program , need help!!

Hi all, I am trying to get a file from an ftp server and i have the list of files which needs to be get from the ftp server. grep unix_prg*.* log.txt > log1.txt log1.txt (which has the list of files) 06-29-09 00:00AM 3550258 unix_prg090629 06-28-09 07:00PM ... (7 Replies)
Discussion started by: raghav1982
7 Replies

10. Homework & Coursework Questions

Shell program in C

Hi all, I have an assignment from school to write a shell program in linux. the idea is to exercise fork() and execv() functions.. the shell program is supposed to be the master and every command that the user prints will run in a new process. we also need to try running the command in every... (1 Reply)
Discussion started by: r3vive
1 Replies
LPE(1)							      General Commands Manual							    LPE(1)

NAME
lpe - Lightweight programmer's editor SYNOPSIS
lpe [ --help | --version ] lpe [--mode <mode>] [ -- ] file DESCRIPTION
Lpe is a small, fast, visual text editor designed to make editing code easier. It provides simultaneously all the features that may be required in a good code editor while preserving a light and intuitive feel that makes it nice to use. Options --help Prints a brief description of program usage and terminates. This must be the first option to lpe, and all other options are ignored. --version Prints a message indication the program version and terminates. This must be the first option to lpe, and all other options are ignored. --mode Sets the buffer mode to the one specified, instead of scanning for a suitable mode from those available. -- Treat future arguments as file names, not options. This allows lpe to be used to edit files starting with the - character. NOTES
What follows are the control key functions for lpe. Arrow keys, home, end, backspace, delete and the like all do as they would be expected to do. Some control keys are bound to the same function as some standard movement keys, such as home or page down. This is because the more intuitive keys may not be available on some systems. Command Keys Ctrl-Q Move cursor to beginning of line (alternative to Home) Ctrl-W Move cursor to end of line (alternative to End) Ctrl-R Scroll one screen up (alternative to PgUp) Ctrl-T Scroll one screen down (alternative to PgDn) Ctrl-O Move to the next word Ctrl-P Move to the previous word Ctrl-K Kill the current line Ctrl-Y or Ctrl-U Insert the most recent block of killed lines Ctrl-S Search for a specified string in the file Ctrl-A Search again for the last search query Ctrl-F Ctrl-O Open a new file to replace the current buffer Ctrl-F Ctrl-S Save the buffer to disk Ctrl-F Ctrl-A Save to disk with an alternate file name Ctrl-F Ctrl-R Read a file and insert it at the current cursor position Ctrl-F Ctrl-E Pretend that a buffer hasn't been modified Ctrl-B Ctrl-S Set the mode of the current buffer Ctrl-B Ctrl-T Toggle between hard and soft tabs for this buffer Ctrl-B Ctrl-A Toggle automatic indentation of this buffer Ctrl-G Ctrl-A Go to the first line of the buffer Ctrl-G Ctrl-S Go to the last line of the buffer Ctrl-G Ctrl-G Go to a specific line number of the buffer Ctrl-N Ctrl-R Enter a value for the command repeater Ctrl-N Ctrl-T Multiply the command repeater value by four Ctrl-N Ctrl-O Start or stop recording a macro Ctrl-N Ctrl-P Play back the last recorded macro Ctrl-V Ctrl-V Pass the entire buffer through a shell command Ctrl-V Ctrl-A Pass the entire buffer through an awk script Ctrl-V Ctrl-S Pass the entire buffer through a sed script Ctrl-V Ctrl-B Pass several lines of the buffer through a shell command Ctrl-V Ctrl-D Pass several lines of the buffer through an awk script Ctrl-V Ctrl-F Pass several lines of the buffer through a sed script Ctrl-D Perform an internal debug command Ctrl-X Write the buffer to disk and exit <interrupt> Exit without writing to disk Ctrl-Z Suspend the editor and escape to a prompt Ctrl-L Erase and redraw the entire screen <interrupt> refers to your terminal's interrupt key. This is often Ctrl-C, but can vary between terminals. Ctrl-Z, on the other hand, is fixed, regardless of the normal stop key for your terminal. MODULES
Although lpe is meant to be small, it has the capability of performing more advanced actions through a feature known as buffer modes. Buf- fer modes allow lpe to act differently according to the programming language in the current buffer. They are implemented through language modules, which are loaded at run-time by lpe to handle buffers that they apply to. All language modules should be placed in a module repository directory. These directories are set by the LPE_MODULE_PATH environment vari- able, which should be a colon-separated list of directories (similar to PATH). If this variable is not set, then lpe scans for modules in the following locations, and in this order: $HOME/.lpe /usr/local/lib/lpe /usr/lib/lpe /etc/lpe Note that the /etc/lpe directory is old, obsolete, and non-standard. It should not be used to hold modules. As modules are binary files and are specific to the architecture that uses them, they should be properly placed in the lib directories listed above. These locations are scanned at run-time, and any regular files in them are interpreted as potential language modules for use by lpe. Sub- directories will not be scanned. A buffer will be assigned the first mode found that applies to that file, so for example a mode in a user's home directory will override one in the system-wide lib directory. SEE ALSO
emacs(1), pico(1) AUTHOR
Chris Smith, cd_smith@ou.edu BUGS
Lots of 'em -- see the BUGS file in the distribution for a partial list. I am not planning on updating this man page often enough to keep up with the bug list, so I won't even try to list bugs here. 12 December 1998 LPE(1)
All times are GMT -4. The time now is 08:00 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy