TIP: Click on subject to list as thread! ANSI
echo: tuxpower
to: Alan Ianson
from: Deon George
date: 2019-08-04 12:23:50
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™.