Sponsored Content
Full Discussion: Why is ./ sometimes needed?
Top Forums Shell Programming and Scripting Why is ./ sometimes needed? Post 303029677 by wisecracker on Wednesday 30th of January 2019 02:55:09 PM
Old 01-30-2019
Hopefully this does NOT attach to MY previous post.
A rewrite of the code to have an optional user path.
Usage: cleanup2 [/optional/full/path/to]
Code:
#!/bin/sh
# Usage: cleanup2 [/optional/full/path/to]
# POSIX compliant.
# Due to '/var/log/' this HAS to be run from root.
# No need to detect root as the error generated is enough.

# Attempt to obtain the user path argument.
LOG_DIR="$1"

# Fall back to the default if user path is NOT supplied.
if [ "${LOG_DIR}" = "" ]
then
    LOG_DIR="/var/log"
fi

# *****************************
# Not required but commented out so you can try both meathods.
# cd "${LOG_DIR}"
# Clear require files. ":" is a NULL, NOP or true command.
# : > messages
# : > wtmp
# These eight lines can be deleted.
# *****************************

# Create empty files in the required path.
: > "${LOG_DIR}"/messages
: > "${LOG_DIR}"/wtmp

# Print success and exit script.
echo "Success! Logs cleaned up."
exit

Results:
OSX 10.14.1, default bash terminal, code calling 'sh'.
Code:
AMIGA:amiga~/Desktop/Code/Shell> chmod 700 cleanup2
AMIGA:amiga~/Desktop/Code/Shell> ls -l /tmp/
total 0
drwx------  4 root   wheel  128 16 Nov 12:34 PKInstallSandbox.MMTz8b
drwx------  3 amiga  wheel   96 30 Jan 18:07 com.apple.launchd.CPHRzeQ4Vr
drwx------  3 amiga  wheel   96 30 Jan 18:07 com.apple.launchd.qgu8OpjEvP
drwxr-xr-x  2 root   wheel   64 30 Jan 18:00 powerlog
AMIGA:amiga~/Desktop/Code/Shell> ./cleanup2 /tmp
Success! Logs cleaned up.
AMIGA:amiga~/Desktop/Code/Shell> echo $?
0
AMIGA:amiga~/Desktop/Code/Shell> ls -l /tmp/
total 0
drwx------  4 root   wheel  128 16 Nov 12:34 PKInstallSandbox.MMTz8b
drwx------  3 amiga  wheel   96 30 Jan 18:07 com.apple.launchd.CPHRzeQ4Vr
drwx------  3 amiga  wheel   96 30 Jan 18:07 com.apple.launchd.qgu8OpjEvP
-rw-r--r--  1 amiga  wheel    0 30 Jan 19:44 messages
drwxr-xr-x  2 root   wheel   64 30 Jan 18:00 powerlog
-rw-r--r--  1 amiga  wheel    0 30 Jan 19:44 wtmp
AMIGA:amiga~/Desktop/Code/Shell> ./cleanup2
./cleanup2: line 25: /var/log/messages: Permission denied
AMIGA:amiga~/Desktop/Code/Shell> echo $?
1
AMIGA:amiga~/Desktop/Code/Shell> _

This User Gave Thanks to wisecracker 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
Plack::App::CGIBin(3pm) 				User Contributed Perl Documentation				   Plack::App::CGIBin(3pm)

NAME
Plack::App::CGIBin - cgi-bin replacement for Plack servers SYNOPSIS
use Plack::App::CGIBin; use Plack::Builder; my $app = Plack::App::CGIBin->new(root => "/path/to/cgi-bin")->to_app; builder { mount "/cgi-bin" => $app; }; # Or from the command line plackup -MPlack::App::CGIBin -e 'Plack::App::CGIBin->new(root => "/path/to/cgi-bin")->to_app' DESCRIPTION
Plack::App::CGIBin allows you to load CGI scripts from a directory and convert them into a PSGI application. This would give you the extreme easiness when you have bunch of old CGI scripts that is loaded using cgi-bin of Apache web server. HOW IT WORKS
This application checks if a given file path is a perl script and if so, uses CGI::Compile to compile a CGI script into a sub (like ModPerl::Registry) and then run it as a persistent application using CGI::Emulate::PSGI. If the given file is not a perl script, it executes the script just like a normal CGI script with fork & exec. This is like a normal web server mode and no performance benefit is achieved. The default mechanism to determine if a given file is a Perl script is as follows: o Check if the filename ends with ".pl". If yes, it is a Perl script. o Open the file and see if the shebang (first line of the file) contains the word "perl" (like "#!/usr/bin/perl"). If yes, it is a Perl script. You can customize this behavior by passing "exec_cb" callback, which takes a file path to its first argument. For example, if your perl-based CGI script uses lots of global variables and such and are not ready to run on a persistent environment, you can do: my $app = Plack::App::CGIBin->new( root => "/path/to/cgi-bin", exec_cb => sub { 1 }, )->to_app; to always force the execute option for any files. AUTHOR
Tatsuhiko Miyagawa SEE ALSO
Plack::App::File CGI::Emulate::PSGI CGI::Compile Plack::App::WrapCGI See also Plack::App::WrapCGI if you compile one CGI script into a PSGI application without serving CGI scripts from a directory, to remove overhead of filesystem lookups, etc. perl v5.14.2 2011-11-02 Plack::App::CGIBin(3pm)
All times are GMT -4. The time now is 11:32 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy