Sponsored Content
Full Discussion: Why is ./ sometimes needed?
Top Forums Shell Programming and Scripting Why is ./ sometimes needed? Post 303029691 by Don Cragun on Wednesday 30th of January 2019 08:26:40 PM
Old 01-30-2019
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:
Code:
#!/bin/sh
# Usage: cleanup2 [Directory_Full_Path]
# POSIX compliant (sort of... POSIX does not require that /bin/sh be the
#                             pathname of a conforming shell).
# When using the default '/var/log/' this HAS to be run as root.
# No need to detect root as the error generated by redirection is enough
# and this script can be used by other users when a different directory is
# given as an operand.

# Use given directory path if present, otherwise default to /var/log.
LOG_DIR=${1:-/var/log}

# Clear the required files.
# The exit code will be zero if and only if both files are successfully cleared.
> "${LOG_DIR}/message" > "${LOG_DIR}/wtmp"

Note that the last line could be replaced by:
Code:
> "${LOG_DIR}/message" && > "${LOG_DIR}/wtmp"

or:
Code:
: > "${LOG_DIR}/message" > "${LOG_DIR}/wtmp"

or:
Code:
: > "${LOG_DIR}/message"
: > "${LOG_DIR}/wtmp"

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:
Code:
: > "${LOG_DIR}/message"
: > "${LOG_DIR}/wtmp"

(and any of the other suggestions above) do not necessarily produce the same results as:
Code:
> "${LOG_DIR}/message"
> "${LOG_DIR}/wtmp"

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:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help is needed

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)
Discussion started by: abcde
3 Replies

2. UNIX for Dummies Questions & Answers

Help needed

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)
Discussion started by: hunter87
3 Replies

3. UNIX for Dummies Questions & Answers

Help needed

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)
Discussion started by: akhil1460
1 Replies

4. AIX

Little help needed.

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)
Discussion started by: Netghost
5 Replies

5. UNIX for Dummies Questions & Answers

little help needed..

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)
Discussion started by: hilofat
3 Replies

6. UNIX for Dummies Questions & Answers

Help needed please.

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)
Discussion started by: jerryboy78
3 Replies

7. Shell Programming and Scripting

Help needed ....

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)
Discussion started by: newbee1
7 Replies

8. Shell Programming and Scripting

help needed...

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)
Discussion started by: Prat007
1 Replies

9. Shell Programming and Scripting

Help Needed

please reply for this https://www.unix.com/shell-programming-scripting/111493-cutting-lines.html its really urgent (1 Reply)
Discussion started by: jojo123
1 Replies

10. Shell Programming and Scripting

Help needed

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)
Discussion started by: EricM
2 Replies
All times are GMT -4. The time now is 04:41 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy