Sponsored Content
Full Discussion: having ksh script problems
Top Forums UNIX for Dummies Questions & Answers having ksh script problems Post 7113 by LivinFree on Wednesday 19th of September 2001 01:53:54 AM
Old 09-19-2001
How about something like this:
Code:
#!/usr/bin/ksh
# simple menu - doesn't really do anything
# You may need to change this:
alias echoe="/bin/echo -e"

# functions:
func_1 () {
echoe "Yay \n\n"
}
func_2 () {
echoe "Boo \n\n"
}
menu_list () {
clear
echoe "\n\n\t\tThis is the title\n\n\n"
echoe "Make your choice: \n"
echoe "To say Yay, press 1 \n"
echoe "To say Boo, press 2 \n"
echoe "To quit, press "q" \n"
}
go_ahead () {
tput smso
echoe "Press any key to return to the menu  \c"
tput rmso
oldstty=`stty -g`
stty -icanon -echo min 1 time 0
dd bs=1 count=1 >/dev/null 2>&1
stty "$oldstty"
echoe
}
func_select () {
tput smso
echoe "\nPlease make your selection ( )\b\b\c"
read selection
tput rmso
case $selection in
     1) clear ; func_1 ; go_ahead ;; 
     2) clear ; func_2 ; go_ahead ;;
     q|Q) tput rmso ; clear ; exit 0 ;;
esac
}
#
# Here is where is gets looped - basically forever, until
# the "q" option is selected, causing an explicit exit
#

while `true`
do
menu_list
func_select
done

This is similar to a lot of menu-like scripts that I've written for the folks around here that don't know (or care to know - heathens!) Unix, but need at least a little interaction to complete their job.

In case anyone was wondering why I didn't use all of ksh's cool little redundancies { such as $(true) instead of `true` }, it's because the code above is portable. It can be run by bash, sh, ksh, and their clones, with only two changes - the echoe alias, and the sh-bang line at the top.

Hope it gives you some ideas...
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Problems with Perl/KSH Web Log Script

Hi, I am writing a series of scripts for work to analyse intranet access logs. All of the scripts do as they should when run individually from the shell, but only when run from certain directories. This sounds like it may be a PATH issue but I am not sure. When I run a certain script, say... (3 Replies)
Discussion started by: mmanders
3 Replies

2. Shell Programming and Scripting

executing a ksh script from another ksh script

Hi, I'm new to unix scripting.How can i call a script from another script. I have a.ksh and b.ksh .I have to call b.ksh from a.ksh after it is successfully exceuted. I tried using #!/bin/ksh -x in a.ksh and at the end i have used /path/b.ksh My problem is it is executing only a.ksh.it... (6 Replies)
Discussion started by: ammu
6 Replies

3. Shell Programming and Scripting

tracing a ksh script within a ksh script

I normally trace a script with the ksh -x <script name> and redirect strderr to file. But if you have a script like the examble below...... vi hairy bear=`grep bear animals` if then ksh more_animals fi If I ksh -x hairy it won't trace "more_animals" unless I put a -x in it. Is... (1 Reply)
Discussion started by: shorty
1 Replies

4. Shell Programming and Scripting

Strange parameter passing problems (KSH)

Hi all, I'm having a rather peculiar problem involving parameter passing with declared functions in my shell script. Hope to get some advice here. A brief description of my code is as follows: However, I'm not getting the results I wanted. If I pass in $rdir, I'm going to end up... (4 Replies)
Discussion started by: rockysfr
4 Replies

5. Shell Programming and Scripting

import var and function from ksh script to another ksh script

Ih all, i have multiples ksh scripts for crontab's unix jobs they all have same variables declarations and some similar functions i would have a only single script file to declare my variables, like: var1= "aaa" var2= "bbb" var3= "ccc" ... function ab { ...} function bc { ... }... (2 Replies)
Discussion started by: wolfhurt
2 Replies

6. Shell Programming and Scripting

autosys/ksh - problems with script

Hi, I'm using autosys and want to set it up that I receive emails when certain jobs start and finish. I don't want to edit each jobs script (ksh) to send a mail at start and finish, I would rather have a single script/job that watches for a trigger when the jobs have started or finished. I... (1 Reply)
Discussion started by: weszardoz
1 Replies

7. Shell Programming and Scripting

KSH script to run other ksh scripts and output it to a file and/or email

Hi I am new to this Scripting process and would like to know How can i write a ksh script that will call other ksh scripts and write the output to a file and/or email. For example ------- Script ABC ------- a.ksh b.ksh c.ksh I need to call all three scripts execute them and... (2 Replies)
Discussion started by: pacifican
2 Replies

8. Solaris

Problems Running KSH on Solaris 10

Hi, I am currently in the process of testing upgrading from Solaris 8 to Solaris 10. one problem i have encountered is when i am running any of my batch scripts. All my scripts start with #! /bin/ksh so that they will excuted in the ksh shell. but the scripts will not run correctly. The... (3 Replies)
Discussion started by: dshakey
3 Replies

9. Shell Programming and Scripting

Problems with ksh

I have the following ksh code and I am passing f="npt06-sr40-syn-dc0p02-32x24drw.mis" For some reason, it's going to the else statement instead of setting optfdrw=1 smptag=$(print -R $f | awk '/smp/') drwtag=$(print -R $f | awk '/drw/') if && ; then # drw tag... (15 Replies)
Discussion started by: kristinu
15 Replies

10. Shell Programming and Scripting

problems with ksh array and find command

set -A allfiles `find $usrhtml -type f` i am trying to populate this array with the find command. It works fine when find is looking through a single directory but when i add a new subdirectory the files in the subdirectory get duplicated. Can anyone help me and fix this so each files in... (1 Reply)
Discussion started by: bjhum33
1 Replies
tput(1) 						      General Commands Manual							   tput(1)

NAME
tput - Queries the terminal information database SYNOPSIS
tput [-S] [-T term] [capability_name [parameter...]] The tput command uses the terminfo database to make terminal-dependent information available to the shell. STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: tput: XCU5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. OPTIONS
[Tru64 UNIX] Specifies that input be received from standard input. Specifies the terminal type. By default, the terminal type is taken from the environment variable TERM. OPERANDS
The capability_name argument may be one of the following special strings: Displays the clear-screen sequence. Displays the sequences that initialize the user's terminal. [Tru64 UNIX] Displays the terminfo long name for the terminal. Displays the sequences that reset the user's terminal. DESCRIPTION
The capability_name argument indicates the attribute type from a terminfo file. The output of the tput command is a string if the attribute capability_name is of the type string, or an integer if the attribute is of the type integer. If the capability_name is of the type Boolean, the tput command sets the exit value to zero (0) for TRUE, 1 for FALSE, and produces no other output. For more information, see the terminfo(4) reference page. NOTES
If your terminal does not support the requested capability, it is not an error. EXIT STATUS
Equals FALSE Boolean value or the requested string was written successfully. [Tru64 UNIX] Equals TRUE Boolean value. Specifies a usage error. Specifies that information on this terminal is not available. Specifies that the capability_name is invalid. Specifies that an error occurred. EXAMPLES
To echo the clear-screen sequence for the current terminal: # tput clear To display the number of columns for the current terminal: # tput cols To set and unset the highlight-mode sequences for the current terminal: # bold=`tput smso` # unbold=`tput rmso` If you are using the C shell (csh), the argument to set and unset sequences must be enclosed in double quotes: # bold="`tput smso`" # unbold="`tput rmso`" Both of these examples can be followed by a prompt: echo "${bold}Please type in your name:${unbold} To set the exit value to indi- cate if the current terminal is a hardcopy terminal: tput hc If you are using the C shell (csh), the exit value for the preceding example is stored in $status; otherwise, the exit value is stored in $?. To move the cursor to line 2, row 2: tput cup 2 2 ENVIRONMENT VARIABLES
The following environment variables affect the execution of tput: Provides a default value for the internationalization variables that are unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization vari- ables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string value, overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). Determines the locale for the for- mat and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of LC_MESSAGES. FILES
Terminal information database Definition files curses library definition file SEE ALSO
Commands: stty(1), tabs(1) Routines: curses(3) Files: terminfo(4) Standards: standards(5) tput(1)
All times are GMT -4. The time now is 03:02 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy