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
readkey(3alleg4)                                                  Allegro manual                                                  readkey(3alleg4)

NAME
readkey - Returns the next character from the keyboard buffer. Allegro game programming library. SYNOPSIS
#include <allegro.h> int readkey(); DESCRIPTION
Returns the next character from the keyboard buffer, in ASCII format. If the buffer is empty, it waits until a key is pressed. You can see if there are queued keypresses with keypressed(). The low byte of the return value contains the ASCII code of the key, and the high byte the scancode. The scancode remains the same whatever the state of the shift, ctrl and alt keys, while the ASCII code is affected by shift and ctrl in the normal way (shift changes case, ctrl+letter gives the position of that letter in the alphabet, eg. ctrl+A = 1, ctrl+B = 2, etc). Pressing alt+key returns only the scan- code, with a zero ASCII code in the low byte. For example: int val; ... val = readkey(); if ((val & 0xff) == 'd') /* by ASCII code */ allegro_message("You pressed 'd' "); if ((val >> 8) == KEY_SPACE) /* by scancode */ allegro_message("You pressed Space "); if ((val & 0xff) == 3) /* ctrl+letter */ allegro_message("You pressed Control+C "); if (val == (KEY_X << 8)) /* alt+letter */ allegro_message("You pressed Alt+X "); This function cannot return character values greater than 255. If you need to read Unicode input, use ureadkey() instead. SEE ALSO
install_keyboard(3alleg4), ureadkey(3alleg4), keypressed(3alleg4), clear_keybuf(3alleg4), simulate_keypress(3alleg4) Allegro version 4.4.2 readkey(3alleg4)
All times are GMT -4. The time now is 09:37 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy