Visit Our UNIX and Linux User Community

Help with the syntax

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with the syntax
# 1  
Old 03-22-2007
Help with the syntax

export check=$(expandname $(dirname $(which $0)))
# 2  
Old 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.
# 3  
Old 03-26-2007
Thanks for ur help

Previous Thread | Next Thread
Test Your Knowledge in Computers #867
Difficulty: Medium
John McDonald developed Lisp in 1958 while he was at the Massachusetts Institute of Technology (MIT).
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Perl syntax

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 sub rundetector { my $class = shift; mkdir($resultDirectory); my... (3 Replies)
Discussion started by: sa@@
3 Replies

2. Shell Programming and Scripting

GnuPG Syntax Help

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

3. Shell Programming and Scripting

for ... do - syntax

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

4. UNIX for Dummies Questions & Answers

Syntax Help

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

5. Shell Programming and Scripting

What syntax to use with sed c\

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

6. Shell Programming and Scripting

Regarding syntax

Hi All, What does this mean ${#var} (2 Replies)
Discussion started by: krishna_gnv
2 Replies

7. Shell Programming and Scripting

what is the right syntax ??

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

8. UNIX for Dummies Questions & Answers

csh syntax

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

9. Shell Programming and Scripting

Help with the syntax

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

10. UNIX for Dummies Questions & Answers

What does this syntax mean...

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

Featured Tech Videos