Im in a intro to unix class and we have to create a a basic program to look up an argument in a large file.
when no argument is given he wants us to produce a error messgae, well this works but it also produces another error message because my variable now equals nothing.
Code:
#! /bin/bash
let num=$*
if [[ $num -gt 99 && $num -lt 1000 ]]
then
echo Area Codes for '"'$num'"':
grep "^$num" ~cs155/pub/area-codes | sed 's/^/ /'
elif [[ $num -lt 1 ]]
then
echo 'usage: ./area <query> ...' | grep usage
else
echo good night
fi
when ./area 303 is entered it works perfectly but when just ./area is entered i get this error
Code:
./area: line 2: let: num=: syntax error: operand expected (error token is "=")
usage: ./area <query> ...
the second line is my own error message which i want how do i get rid of the first?
Moderator's Comments:
Please use code tags
Last edited by Franklin52; 09-21-2010 at 03:34 AM..
hi
I am writing a bash script that uses dialog to get user input an diplay messages to user. I have a small problem
dialog --inputbox "blabla" 20 50 2> /tmp/output
VAR="'cat /tmp/output'"
mkdir $VAR
the code below requests user for a directory path to be created.
But, if the user uses... (1 Reply)
I'm having problems with bash scripts. If a bash script is called with no arguments, I always get "PHIST=!" as the first argument (i.e. this is what $1 equals). Why? Where does this come from, and how can I fix it? Nothing in the bash man pages refer to this mysterious default argument. (2 Replies)
Crontab:
16 14 * * * /root/bin/./empty_mail.sh >> /root/bin/log.txt
L=`mailq |grep -c frozen`
echo "${NUMMAIL} frozen mail to be removed from the mailq"
#echo "Press Enter to continue"
#read CONTINUE
echo -en "-> "
for i in `mailq | grep frozen | awk '{print $3}'` ; do
exim4 -Mrm $i... (1 Reply)
I have written a script and I get error and I don't understand why.
neededParameters=2
numOfParameters=0
correctNum=0
while getopts "s:l:" opt
do
case "$opt" in
s)
serviceName= $OPTARG #errorline 1
numOfParameters= $numOfParameters + 1
;;
l)
... (12 Replies)
hi to everyone :)
i am new to linux and bash and i am trying to build a bash script, that is quite similar to the well known cmd 'split' ... ;)
it is now already "working" ... i can use it like:
./splitfix.sh -v -s 10 foo
./splitfix.sh -s 10 -v foo
./splitfix.sh -s 10 foo
./splitfix.sh -v... (5 Replies)
When it comes to programing and UNIX, I know just enough to be really really dangerous.
I have written a python script to parse through a file that contains ~1 million lines. Depending on whether a certain string is matched, the line is copied into a particular file. For the sake of brevity,... (4 Replies)
Hi guys!
I'm new to the forum and to the Bash coding scene.
I have the following code
paths=/test/a
paths=/test/b
keywords=\"*car*\"
keywords=\"*food*\"
for file in `find paths -type f -ctime -1 -name keywords -print 2>/dev/null`
do
#.... do stuff here for every $file found... (5 Replies)
Hi,
Below is my bash script:
cat run_all.sh
if && ; then
Number_Count_Program $1.results $2.results > $1.$2.counts
else
Number_Split_Program $1.results $2.results > $1.$2.split
fi
After I run the following command:
./run_all.sh A B
./run_all.sh: line 1:
Anybody advice to edit... (5 Replies)
I am trying to write a Bash Script using a couple of arrays. I need to perform a countdown of sorts on an array done once daily, but each day would start with the numbers from the previous day. This is what I'm starting with :
#!/bin/bash
days=(9 8 7 6 5)
for (( i = 0 ; i < ${#days} ; i++... (4 Replies)
Discussion started by: cogiz
4 Replies
LEARN ABOUT OPENDARWIN
script
SCRIPT(1) BSD General Commands Manual SCRIPT(1)NAME
script -- make typescript of terminal session
SYNOPSIS
script [-a] [-k] [-q] [-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.
Options:
-a Append the output to file or typescript, retaining the prior contents.
-k Log keys sent to program as well as output.
-q Run in quiet mode, omit the start and stop status messages.
-t time Specify time interval between flushing script output file. A value of 0 causes script to flush for 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 variable is utilized by script:
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) (for the history mechanism).
HISTORY
The script command appeared in 3.0BSD.
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 in a raw mode where the program being run is doing manual echo.
BSD June 6, 1993 BSD