03-22-2007
The syntax "command1 $(command2)" will run command2 and read the output from it. This output replaces the characters "$(command2)" and then command1 is run and it will see command2's output as its arguments.
$0 is the first word in the command line used to invoke the current script. This is generally the name of the script.
which $0 will search the PATH environment variable for the full pathname of of the script. So if $0 was "myscript", "which myscript" might return something like "/usr/local/bin/myscript".
dirname $(which $0) returns the directory from a pathname. So "dirname /usr/local/bin/myscript" will return just "/usr/local/bin".
expandname $(dirname $(which $0)) Well, expandname is not a standard or even ubiquitous utility. So your expandname may do something I don't know about. But I have seen expandname and the version I have seen makes limited sense here. The expandname I know about will remove environment variables and shell metacharacters from a pathname. So "expandname /usr/l*l/bin" would probably return "/usr/local/bin". However dirname will never return anything that would need expanding. So this is a wasted step or your version of expandname does something different.
check=$(expandname $(dirname $(which $0))) will take the output from expandname and use it to set the variable "check".
export check=$(expandname $(dirname $(which $0))) And finally the variable "check" is exported into the environment. This means that any child processes that we subsequently spawn will be able to see the value of "check". This represents a small violation of a general coding standard... environment variables are usually all caps. So I would have used CHECK.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
OK, the title is a little vague, but basically i was gonig through some files and ran into some strange syntax... heres what it looks like:
... 1&>~/<file extension>
where ... is a chain of commands (the 1&>~ is part of the arguments) and the file extension is just a pointer to a file... (1 Reply)
Discussion started by: DrAwesomePhD
1 Replies
2. Shell Programming and Scripting
can anyone explain the code for me... i am new to shell programming
while getopts ":S:D:U:" OPTION "$@"
do
case $OPTION in
S) SRVR=$OPTARG;;
D) DB="$OPTARG"; USEDB="use $OPTARG";;
U) UID=$OPTARG;;
:) MISSINGOPTARG="$MISSINGOPTARG -$OPTARG";;
?) if
then
... (2 Replies)
Discussion started by: chandhar
2 Replies
3. UNIX for Dummies Questions & Answers
I am trying to list output in columns in csh. What would be the syntax for this shell if in ksh it is: ls -d !(*SNMP*) ? (0 Replies)
Discussion started by: charlie11k
0 Replies
4. Shell Programming and Scripting
IN the book below example showed
find /home/tolstoy -type d -print | Find all directories
sed 's;/home/tolstoy/;/home/lt/;' | Change name, note use of semicolon delimiter
while read newdir Read new directory name
do
mkdir $newdir ... (7 Replies)
Discussion started by: convenientstore
7 Replies
5. Shell Programming and Scripting
Hi All,
What does this mean
${#var} (2 Replies)
Discussion started by: krishna_gnv
2 Replies
6. Shell Programming and Scripting
I know that I want to entirely replace line 3 in my file filename.txt. I have tried all sorts of variations of
sed 3,3,c\replacement stuff\ filename.txt with no success.
about the only thing that causes any reaction is
sed 3,3c\\ filename.txt
but it just prints out the whole file.
... (13 Replies)
Discussion started by: SusanDAC
13 Replies
7. UNIX for Dummies Questions & Answers
Hi everyone,
I got some code here that I've been working on, but I've gotten stuck. I cant figure out what is wrong with the syntax.
sub cksum{
my $uint32_t = \buffer;
my $word_count;
my $bias;
(
#uint32_t checksum = $bias
$word_count = $bias
while ($word_count>=0)
... (2 Replies)
Discussion started by: TeamUSA
2 Replies
8. Shell Programming and Scripting
hi!
pls help me :)
cd folder
for f in *; do
...
done
this circle takes all files from folder1
i need only .pdf files
but it may be like a.pdf or a.PDF
what syntax must i use?
smth like it:
cd folder
for f in *.(pdf|PDF); do (2 Replies)
Discussion started by: optik77
2 Replies
9. Shell Programming and Scripting
Hi all,
I'm trying to decrypt a GnuPG file but not having much luck. I'm new to using it and have tried 4 different ways to do it but nothing works. Here are examples of the attempts I have made:
gpg -o ./file_name.tar.Z --passphrase-fd 0 ./file_name.tar.Z.gpg 0<./password.txt
cat... (5 Replies)
Discussion started by: Korn0474
5 Replies
10. UNIX for Dummies Questions & Answers
Query with perl syntax
Aim: is to change a perl script to use a new file
I was required to replace
- entries \"$entries\"
with
-lib <full_path_to_filename>
So in the code detector.pm
sub rundetector
{
my $class = shift;
mkdir($resultDirectory);
my... (3 Replies)
Discussion started by: sa@@
3 Replies
mvdir(1M) System Administration Commands mvdir(1M)
NAME
mvdir - move a directory
SYNOPSIS
/usr/sbin/mvdir dirname name
DESCRIPTION
mvdir moves directories within a file system. dirname must be a directory. If name does not exist, it will be created as a directory. If
name does exist, and is a directory, dirname will be created as name/dirname. dirname and name may not be on the same path; that is, one
may not be subordinate to the other. For example:
example% mvdir x/y x/z
is legal, but
example% mvdir x/y x/y/z
is not.
OPERANDS
dirname The name of the directory that is to be moved to another directory in the filesystem.
name The name of the directory into which dirname is to be moved. If name does not exist, it will be created. It may not be on
the same path as dirname.
USAGE
See largefile(5) for the description of the behavior of mvdir when encountering files greater than or equal to 2 Gbyte ( 2**31 bytes).
EXIT STATUS
0 Successful operation.
>0 Operation failed.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
mkdir(1), mv(1), attributes(5), largefile(5)
SunOS 5.10 14 Mar 1997 mvdir(1M)