| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | My bash script |
Re: My bash script
By: Alan Ianson to All on Sat Aug 03 2019 12:13 pm
> Hello All,
> I am using this in a bash script to toss incoming files here and am having a
> problem with it that I hope someone can shed some light on for me.
> if [ -f fido/inbound/*.tic ]; then
> there in just one inbound *.tic but if there are more than one tic to be
> processed it fails and I see this..
Yeah, the reason it would fail, is the shell will expand it. IE: If you
have 2 TIC's "a.tic", "b.tic", the command expands to:
: if [ -f fido/inbound/a.tic fido/inbound/b.tic ]; then
Which is a syntax error. There are probably many ways to do this, the way I
would do it is:
MOVED=0
for i in fido/inbound/*.tic; do
# If there are no files $i will equal "fido/inbound/*.tic"
if [ "$i" == "fido/inbound/*.tic" ]; then continue; fi
mv $i $destination;
MOVED=1
done
if [ ${MOVED} -eq 1 ]; then
...
fi
> One last question.. I have a second section like the aboveeeee that looks
> for *.TIC instead of *.tic. Is there a way to edit the above line to look
> for both *.tic and *.TIC?
In my above example, you could have
for i in fido/inbound/*.tic fido/inbound/*.TIC; do
And then have another test for the uppercase *.TIC, that "continues".
...лоег
--- SBBSecho 3.07-Linux
* Origin: Alterant | An SBBS in Docker on Pi! (3:633/509)SEEN-BY: 633/0 267 280 410 412 509 640/1384 712/848 @PATH: 633/509 280 267 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.