If you want an exit code that clearly shows whether or not the script successfully created the two files it is trying to create, a simpler solution would be:
Note that the last line could be replaced by:
or:
or:
and get exactly the same results. You don't need a null command or a placeholder for a command when the command(s) that is(are) being executed is a(are) redirection(s). Why give the shell extra work to do parsing an extra command that isn't needed to get the job done?
Note also, however, that the two commands:
(and any of the other suggestions above) do not necessarily produce the same results as:
Since : is a shell special built-in utility, the shell will exit with a non-zero exit code if the first : command fails due to a redirection failure, but the last form will not. So, if the script fails to clear message but successfully clears wtmp the last form above will produce a zero exit status while all of the other suggestions in this post will correctly produce a non-zero exit status indicating that at least one of the files was not cleared.
Last edited by Don Cragun; 01-31-2019 at 07:06 AM..
Reason: Remove extraneous double-quotes.
These 2 Users Gave Thanks to Don Cragun For This Post:
Check your double quotes, some have one too many.
And just as an addendum, from 'shellcheck', see attached image...
Hi wisecracker,
Thank you for catching the mismatched double-quotes. I was trying to change "$var"/string to "$var/string" and didn't complete the job in a couple of lines.
I'm sorry that shellcheck doesn't like stand-alone redirections. They are part of the shell command language and there is no need to combine them with another command when used as they are used in the script being discussed in this thread.
Note also that the commands:
produces the same results in the script being discussed in this thread but runs slower and just like:
will give a zero exit status even when > "${LOG_DIR}/message" failed if > "${LOG_DIR}/wtmp" succeeded.
Of course, the discussion would be different if other pipelines that send output to standard output without redirecting that output were to be included in the script after these redirections; but that isn't the case here in cleanup2. Nonetheless, I should have stated this assumption in the example I provided.
These 2 Users Gave Thanks to Don Cragun For This Post:
Wow! My question grew some legs!
I aspire to reach the level of understanding evident in this thread.
Is there a way I can make a humble donation to support this great site?
There is this however, reference to OSX 10.14.1, default bash terminal:
Both XUbuntu56 and I can learn from your expertise on this.
I have not copied and pasted the man pages but they do exist.
As you can see there is a manual AND a help entry for "true" and "false", do I take it the some shells, perhaps dash or ash, do not have these as builtins as it looks like I have both builtin and transient versions.
":" is builtin only so I assume that in POSIX this IS a requirement but the others are optional?
... Is there a way I can make a humble donation to support this great site?
Well, the best donation would be to continue visiting, raising meaningful, interesting, and challenging questions, LEARNING and APPLYING what you've learned, and finally contributing wise and witty answers.
On top of this, you may become a VIP member with additional benefits.
Wow! My question grew some legs!
I aspire to reach the level of understanding evident in this thread.
Is there a way I can make a humble donation to support this great site?
(Apologies for any typos.)
You will soon become proficient at writing basic shell scripts and the fact that you are willing to learn means you will be able to help others in the not too distant future; not with the subtleties that these professionals know but like myself certainly good enough, but perhaps in your case on [?]Ubuntu and derivatives and closely related OSes.
Try thinking of a simple app' for yourself and writing it in a shell, bash and ksh are probably the way to go, usually bash.
I started learning on this site doing a text mode Audio Oscilloscope and what started as simple idea is now a highly sophisticated FUN application. (I have left some of my original coding in the project still just to see how i have advanced over the years.)
AND our motto:
Those prepared to help themselves and try to solve their own coding problems will certainly get our help if they are stuck with solving them.
Have fun developing your own ideas as this will steer you towards other languages to learn.
First of all, let me state that I am a windows admin.
I have a windows share mounted to /mnt/server
I need a script that will either login as sudo or perform commands with sudo rights. I need the script to copy all of the users /home folders to the mounted windows share. Now If I can... (2 Replies)
Guys,
There is a file where there are 1000s of records.
In the file if some condition satisfies in a certain TAB record (TAB would be first 3 digits of a certain record) then move TAB and all the records (or lines) after TAB to new_file, until another TAB record is encountered in the same... (1 Reply)
Hi...
I have a folder /home/data ;where some files are present.
aaa_asas.txt
bbb_xxx.txt
ccc_xsxas.txt
ddd_sa2esa.txt
------
Also I have a file which is as follows.(/home/file1)
cat /home/file1
aaa you
bbb are
ccc very
ddd good
--------
now I want to rename all the files in the folder... (7 Replies)
i've been given an assignment to Write a system utility called recycle that satisfies the following requirements as they might be displayed in a UNIX/Linux man page:
NAME
recycle - stores files in a recycle bin
SYNOPSIS
recycle ...
DESCRIPTION
Recycle is a replacement for the... (3 Replies)
hi everyone i'm a noob trying to learn unix language.. but seems like i got no leads on how to start..
i'm playing with the 'ps' command.. i'm trying to show the pid, ppid, username, command, cpu utilization (in desc order), process start time and process status.. all in a command.. am i able... (3 Replies)
Hello,
I am quite new to AIX, but have Linux experience.
Iam facing a peoblem with AIX 5.2 running on a 43p Model 150 (RS6000).
I tried everyting and i cant have the network to run properly. :confused:
/etc/hosts looks like this:
127.0.0.1 loopback localhost
192.168.XXX.XXX... (5 Replies)
HI can any one help me with the appropriate answers for the below:
1.Enter an # before a command and press .what do you see,and how do you think you can take advantage of the behaviour?
2.Is tar -cvfb20foo.tar*.c legitimate or not.will this command work without the - symbol?
3.The command... (1 Reply)
Hello
I am a newbie and want to learn unix .
Does unix and linux are one and same.
I have red hat linux cd but i want to take advice from some one wheather unix and linux are same.
If not ,where i'll get a Unix os setup and how i'll install it.
If linux would do then how should... (3 Replies)
Hi
I'm trying to print a directories struct tree that will look like this:
A
_a
_b
_B
__c
__d
__C
___e
B
_a
_b
I'm doing a recursion, but how can I know how much space is needed before printing after the recursion? (3 Replies)