Sponsored Content
Top Forums Shell Programming and Scripting how to take input at the startup script!! Post 302172080 by System Shock on Sunday 2nd of March 2008 09:54:38 AM
Old 03-02-2008
I'm not understanding if you want to allow a user to give your script a flag/variable at the command line, or if you want an interactive script with a menu. Either way:
Passing a flag/variable to a script, simplest way, in the script just do:
Code:
myVariable=$1

So, when you run the script on the command line, you'd type:
Code:
# script.ksh  <myVariable>

The elements in the command line are counted much like the elements in an array, so when you type the above command, script.ksh is $0 , myVariable is $1, whatever you'd type after myVariable is $2, etc.. Quick example:
Code:
# cat script.ksh
myVariable=$1
yourVariable=$2
echo $yourVariable $myVariable

# script.ksh world hello
hello world

You could use $1 in a case statement for an rc startup script, like this:
Code:
# cat script.ksh
case $1 in
         start) echo starting;;
          stop) echo stopping;;
             *) echo "don't understand anything but stop and start; doing nothing";;
esac

In the case of an interactive script, when you present users with choices, much like your example of the Solaris installation, if the choices are many and require many words to explained, echo a numbered menu so the user only has to input a number rather than a whole sentence:
Code:
# cat script.ksh
echo "Press 1 for start"
echo "Press 2 for stop"
read myVariable?"Enter your choice: "
case $myVariable in
         1) echo starting;;
         2) echo stopping;;
         *) echo "don't understand anything but 1's and 2's; doing nothing";;
esac


Last edited by System Shock; 03-02-2008 at 11:12 AM..
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Startup script

New in Unix, I am adding a line "route add 57.14.y.y 57.14.x.x" every day after rebooting the system. Where can I add the line so during boot up (the system is re-started every day by design (???) the line is executed? (I tried the /etc/rc2.d/S90 but for some reason the line needs to be added... (2 Replies)
Discussion started by: texaspanama
2 Replies

2. HP-UX

Executing a script at startup

Hi, I want a script to execute as soon as a user logs in(instead of directing to his home directory). i know that i have to mention the path of script in the user's .profile to execute this, but not sure where and what to edit. I just tried and was unsuccesful. Kindly provide the code that i... (4 Replies)
Discussion started by: sridharr83
4 Replies

3. AIX

run script at startup

I am using AIX 5.3 in P6 machine. I have a script "test.sh", when i run it manually it runs properly. I want to run the script automatically when system starts. I kept the script in /etc/rc.d/init.d and also in /etc/rc.d/rc2.d but it is not working. Do i have to write it in inittab instead of... (1 Reply)
Discussion started by: pchangba1
1 Replies

4. UNIX for Dummies Questions & Answers

Startup Script Somewhere ?

Hello there! I need help. Everytime I login to my ssh, i see this: -bash: .export: command not found -bash: .export: command not found -bash: .export: command not found -bash: .export: command not found any help ? thanks (0 Replies)
Discussion started by: fbauto1
0 Replies

5. AIX

startup script

Hi I need the below script to be started whenever I reboot my aix server ? #cat cdbegin /cdirect/cdunix/ndm/bin/cdpmgr -i /cdirect/cdunix/ndm/cfg/cbspsdb01/initparm.cfg Please suggest how to add this to the startup ? (2 Replies)
Discussion started by: samsungsamsung
2 Replies

6. Shell Programming and Scripting

Script to delete files with an input for directories and an input for path/file

Hello, I'm trying to figure out how best to approach this script, and I have very little experience, so I could use all the help I can get. :wall: I regularly need to delete files from many directories. A file with the same name may exist any number of times in different subdirectories.... (3 Replies)
Discussion started by: *ShadowCat*
3 Replies

7. Shell Programming and Scripting

Startup and shutdown script

Hi all, I'm writing a script to stop & start oracle: su - oracle -c "sqlplus / as sysdba" -c "shutdown immediate">> ${log} 2>&1 The {log} refers to the log file. The part in bold gives error: /usr/sbin/shutdown: Only root can run /usr/sbin/shutdown Pls suggest how to correct this. ... (5 Replies)
Discussion started by: frum
5 Replies

8. Shell Programming and Scripting

Apache tomcat startup script not booting at startup.

I copied the script from an AskUbuntu post - #!/bin/bash ### BEGIN INIT INFO # Provides: tomcat7 # Required-Start: $network # Required-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start/Stop Tomcat server ### END INIT INFO ... (14 Replies)
Discussion started by: Hijanoqu
14 Replies

9. Shell Programming and Scripting

Startup script

I can't quite find a clear answer on how to properly write a start up script. Does anybody have any ideas?? (3 Replies)
Discussion started by: Huitzilopochtli
3 Replies
SCRIPT(1)						    BSD General Commands Manual 						 SCRIPT(1)

NAME
script -- make typescript of terminal session SYNOPSIS
script [-adkpqr] [-F pipe] [-t time] [file [command ...]] DESCRIPTION
The script utility makes a typescript of everything printed on your terminal. It is useful for students who need a hardcopy record of an interactive session as proof of an assignment, as the typescript file can be printed out later with lpr(1). If the argument file is given, script saves all dialogue in file. If no file name is given, the typescript is saved in the file typescript. If the argument command is given, script will run the specified command with an optional argument vector instead of an interactive shell. The following options are available: -a Append the output to file or typescript, retaining the prior contents. -d When playing back a session with the -p flag, do not sleep between records when playing back a timestamped session. -F pipe Immediately flush output after each write. This will allow a user to create a named pipe using mkfifo(1) and another user may watch the live session using a utility like cat(1). -k Log keys sent to the program as well as output. -p Play back a session recorded with the -r flag in real time. -q Run in quiet mode, omit the start, stop and command status messages. -r Record a session with input, output, and timestamping. -t time Specify the interval at which the script output file will be flushed to disk, in seconds. A value of 0 causes script to flush after every character I/O event. The default interval is 30 seconds. The script ends when the forked shell (or command) exits (a control-D to exit the Bourne shell (sh(1)), and exit, logout or control-D (if ignoreeof is not set) for the C-shell, csh(1)). Certain interactive commands, such as vi(1), create garbage in the typescript file. The script utility works best with commands that do not manipulate the screen. The results are meant to emulate a hardcopy terminal, not an addressable one. ENVIRONMENT
The following environment variables are utilized by script: SCRIPT The SCRIPT environment variable is added to the sub-shell. If SCRIPT already existed in the users environment, its value is overwrit- ten within the sub-shell. The value of SCRIPT is the name of the typescript file. SHELL If the variable SHELL exists, the shell forked by script will be that shell. If SHELL is not set, the Bourne shell is assumed. (Most shells set this variable automatically). SEE ALSO
csh(1) HISTORY
The script command appeared in 3.0BSD. The -d, -p and -r options first appeared in NetBSD 2.0 and were ported to FreeBSD 9.2. BUGS
The script utility places everything in the log file, including linefeeds and backspaces. This is not what the naive user expects. It is not possible to specify a command without also naming the script file because of argument parsing compatibility issues. When running in -k mode, echo cancelling is far from ideal. The slave terminal mode is checked for ECHO mode to check when to avoid manual echo logging. This does not work when the terminal is in a raw mode where the program being run is doing manual echo. If script reads zero bytes from the terminal, it switches to a mode when it only attempts to read once a second until there is data to read. This prevents script from spinning on zero-byte reads, but might cause a 1-second delay in processing of user input. BSD
December 4, 2013 BSD
All times are GMT -4. The time now is 10:50 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy