The answer is simple: you either use the test construction -or- square brackets. Also to keep coding simple and avoid having to use semicolons all the the time to delimit commands, put the several components of the if-then-else-fi construct on separate lines:
Code:
if [ condition ]
then
command 1
else
command 2
fi
In your case, you were missing a semicolon just before the 'then'
I write a sh script that zip and copy to tape all files that older then 2 hours.
1. The way I choose is - touch a file with "now - 2 hours", then use fine with '! -newer'
2. Do you have any other idea to do it ?
tnx. (1 Reply)
I wonder how I shall read the result below, especially 'what'
shown below.
The result was shown when I entered 'w'.
E.g what is TOP? What is gosh ( what does selmgr mean?)?
login@ idle JCPU PCPU what
6:15am 7:04 39 39 TOP
6:34am 6:45 45 45 TOP
6:41am ... (1 Reply)
Can anybody help me?
I am developing a utility for automating message paging to a BT alphanumeric pager.
I am using a USR 56K Fax-modem connected to /dev/cuab on a Sun Ultra-10. I am using the UNIX 'tip' utility to connect to the modem and I have configured the modem as follows: Baud Rate:... (2 Replies)
Hi, guys, I have a big problem.
I've got a sun solaris 4.1.4 workstation, and the /var/adm/message file will add one row every few seconds. It soon becomes a large file.
I wander if there are some mistakes configuring the workstation.
the /var/adm/message is as follow:
... (1 Reply)
Hey all,
I've bought a few bits from Belkin who seem quite happy to support FreeBSD! Last time I bought a UPS from them and it's still going well :D
I saw this on their website that the 16bit PCMCIA card was supported under FreeBSD:
http://www.belkin.com/network/F5D5020.html
I went to my... (0 Replies)
Here is a crude procmail recipe that I quickly created (NOT a procmail recipe expert, btw) that has been catching lots of spam (current second after the charset_spam recipe posted earlier):
:0B
* .*If.you.do.not.wish.to.receive...*
more_spam
:0B
* You.requested.to.receive.this.mailing... (0 Replies)
Somehow someone created a file named '-ov' in the root directory.
Given the name, the how was probably the result of some cpio command they bozo'ed.
I've tried a number of different ways to get rid of it using * and ? wildcards, '\' escape patterns etc.. They all fail with " illegal option --... (3 Replies)
Hopefully this doesn't come off as too much of a "newbie" question or a flamebait. But I have recently begun working with a Sun Solaris box after having spent the past five years working with RedHat. From what i can tell, thing look fairly similar and the 'man' command is some help. But I've... (7 Replies)
Discussion started by: deckard
7 Replies
LEARN ABOUT DEBIAN
shelltest
SHELLTEST(1) version 1.2.1 SHELLTEST(1)NAME
shelltestrunner - test command-line programs or arbitrary shell commands
SYNOPSIS
shelltest [options] {testfiles|testdirs}
DESCRIPTION
shelltestrunner tests command-line programs (or arbitrary shell commands). It reads simple declarative tests specifying a command, some
input, and the expected output, and can run them run in parallel, selectively, with a timeout, in color, and/or with differences high-
lighted.
OPTIONS -a, --all
Show all failure output, even if large
-c, --color
Show colored output if your terminal supports it
-d, --diff
Show failures in diff format
-p, --precise
Show failure output precisely (good for whitespace)
-x STR, --exclude=STR
Exclude test files whose path contains STR
--execdir
Run tests from within the test file's directory. Test commands normally run within your current directory; --execdir makes them run
within the directory where they are defined, instead.
--extension=EXT
Filename suffix of test files (default: .test)
-w, --with=EXECUTABLE
Replace the first word of (unindented) test commands. This option replaces the first word of all test commands with something else,
which can be useful for testing alternate versions of a program. Commands which have been indented by one or more spaces will not
be affected by this option.
--debug
Show debug info, for troubleshooting
--debug-parse
Show test file parsing info and stop
--help-format
Display test format help
-?, --help
Display help message
-V, --version
Print version information
-- TFOPTIONS
Set extra test-framework options like -j/--threads, -t/--select-tests, -o/--timeout, --hide-successes. Use -- --help for a list.
Avoid spaces.
DEFINING TESTS
Test files, typically named tests/*.test, contain one or more tests consisting of:
o a one-line command
o optional standard input (<<<), standard output (>>>) and/or standard error output (>>>2) specifications
o an exit status (>>>=) specification
Test format:
# optional comment
the command to test
<<<
zero or more lines of standard input
>>>
zero or more lines of expected standard output
(or /REGEXP/ added to the previous line)
>>>2
zero or more lines of expected standard error output
(or /REGEXP/ added to the previous line)
>>>= EXITCODE (or /REGEXP/)
o A /REGEXP/ pattern may be used instead of explicit data. In this case a match anywhere in the output allows the test to pass. The regu-
lar expression syntax is regex-tdfa (http://hackage.haskell.org/package/regex-tdfa)'s.
o EXITCODE is a numeric exit status (http://en.wikipedia.org/wiki/Exit_status), eg 0 for a successful exit.
o You can put ! before a /REGEXP/ or EXITCODE to negate the match.
o Comment lines beginning with # may be used between tests.
EXAMPLES
Here's example.test, a file containing two simple tests:
# 1. let's test that echo runs. Numbering your tests can be helpful.
echo
>>>= 0
# 2. and now the cat command. On windows, this one should fail.
cat
<<<
foo
>>>
foo
>>>= 0
Run it with shelltest:
$ shelltest example.test
:t.test:1: [OK]
:t.test:2: [OK]
Test Cases Total
Passed 2 2
Failed 0 0
Total 2 2
AUTHORS
Simon Michael.
shelltestrunner March 18 2012 SHELLTEST(1)