05-07-2010
Quote:
Originally Posted by
Straitsfan
I mean a directory with just that more than one word in its name -- say, for example my\ documents/ as opposed to just documents/
It's not more than one word if you quote it. In that case, there is no field splitting done and it will always be one word (word in the bash man page sense) which happens to contain a space.
Quote:
Originally Posted by
hergp
In this special case there is no effective difference between "$*" and "$@", because in bash the cd builtin accepts only one argument, the name of the directory you want to change to.
That is absolutely incorrect. If there are multiple arguments passed to a script or function, the double-quoted values "$*" and "$@" will ALWAYS differ. The former will always expand to one string, the latter to multiple strings.
If this function were called with two arguments, for example, it would try to cd into a directory named "$1" (as you pointed out, bash's built-in cd would ignore $2 and any other arguments). However, if the code were using "$*" instead, the bash builtin would be passed a single argument whose value would be "$1 $2". Definitely, not the same.
In this case, what is equivalent is the use "$@" and "$1", since bash's cd will ignore all other arguments.
Regards,
Alister
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
ksh $ETL_XXX/bin/filename.ksh wf_workflowname .
Which is used in post session command. (2 Replies)
Discussion started by: dummy_needhelp
2 Replies
2. UNIX for Dummies Questions & Answers
Hi guys,
I have no idea on unix but suddenly, my cobol programs calls a unix script that i know nothing about.
can you guys interpret these lines for me?
i know its a print command but I want to actually know how many copies it prints.
qprt -da -P $1 -t '6' -i '6' -l '70' $2
qprt -da... (1 Reply)
Discussion started by: supacow
1 Replies
3. Shell Programming and Scripting
Could you interpret the following sed and awk command for me?
command:
cat tempfile2 |sed "s/\(BUILD-3-.*-\.-\)\(.*\..*\..*\)/\2/" | awk '{printf "%-8.8s %-23.23s %-30.30s %-50.50s\n", $1,$2,$3,substr($0,index($0,$4))}' > outfile2 2>/dev/null
input:(data in tempfile2)... (1 Reply)
Discussion started by: vj8436
1 Replies
4. UNIX for Dummies Questions & Answers
Hi,
So I am new to Unix, and I need to check the performance of some apps I am running. But I don't know how to interpret the output from TOP.
Could somebody please explain the difference between the different values. And also explain how I can have a process which has a %CPU > 100?
... (7 Replies)
Discussion started by: dj_jay_smith
7 Replies
5. Shell Programming and Scripting
hi
I have a text file abc.txt as below
a = 0
b = 1
c = 3
i want to interpret this file i.e. if number corresponding to 'a' is 0 i want to run a script script.bash .
How do do that? (4 Replies)
Discussion started by: shishirkotkar
4 Replies
6. High Performance Computing
I have collected data of Number of L2 cache misses using PAPI. I had run an MPI application with 4 threads (mpirun -np 4) and each thread reads the cache misses in L2. Each thread outputs data for every timestamp. eg:
Timestamp data
xxx530 thread# 0 2136
xxx531 thread# 0 ... (0 Replies)
Discussion started by: vishwamitra
0 Replies
7. UNIX for Dummies Questions & Answers
I know $0 is the entire file's contents (at least I think that is what it is!), but what exactly is: $0!~
This was a snippet from a larger line
awk '$0!~/^$/ {print $0}'
This deletes blank lines, but I want to know specifically the $0!~ part... I am guessing /^$/ is regex for blank line...... (5 Replies)
Discussion started by: glev2005
5 Replies
8. Shell Programming and Scripting
Can anyone tell me how to interpret this:
listpage="ls |more" (the spaces are there in the example)
$listpage
It's from my bash book and I'm not sure what it means (3 Replies)
Discussion started by: Straitsfan
3 Replies
9. UNIX for Dummies Questions & Answers
hi All,
i have never used sed in Unix environment, but i have one script which is using this following command:
cat audit_session_rpt_MSP_20140331.lst|sed -n '/Apr 14/!p'| sed -n '/Page/!p'| sed -n '/UserName/!p' |\
egrep -v '^-|^=|^\*'|sed '/^$/d'|sed -e '1,7d'... (1 Reply)
Discussion started by: lovelysethii
1 Replies
10. UNIX for Beginners Questions & Answers
I booted into single user mode with
/usr/sbin/reboot -- -s
but after doing a control -d
my
who -r
shows
run-level 3 Nov 17 14:07 3 0 S
I was expecting it to show run-level S
why is this still in run level 3?
thanks (1 Reply)
Discussion started by: goya
1 Replies
LEARN ABOUT OPENSOLARIS
libbash
LIBBASH(7) libbash Manual LIBBASH(7)
NAME
libbash -- A bash shared libraries package.
DESCRIPTION
libbash is a package that enables bash dynamic-like shared libraries. Actually its a tool for managing bash scripts whose functions you may
want to load and use in scripts of your own.
It contains a 'dynamic loader' for the shared libraries ( ldbash(1)), a configuration tool (ldbashconfig(8)), and some libraries.
Using ldbash(1) you are able to load loadable bash libraries, such as getopts(1) and hashstash(1). A bash shared library that can be loaded
using
ldbash(1) must answer 4 requirments:
1. It must be installed in $LIBBASH_PREFIX/lib/bash (default is /usr/lib/bash).
2. It must contain a line that begins with '#EXPORT='. That line will contain (after the '=') a list of functions that the library
exports. I.e. all the function that will be usable after loading that library will be listed in that line.
3. It must contain a line that begins with '#REQUIRE='. That line will contain (after the '=') a list of bash libraries that are
required for our library. I.e. every bash library that is in use in our bash library must be listed there.
4. The library must be listed (For more information, see ldbashconfig(8)).
Basic guidelines for writing library of your own:
1. Be aware, that your library will be actually sourced. So, basically, it should contain (i.e define) only functions.
2. Try to declare all variables intended for internal use as local.
3. Global variables and functions that are intended for internal use (i.e are not defined in '#EXPORT=') should begin with:
__<library_name>_
For example, internal function myfoosort of hashstash library should be named as
__hashstash_myfoosort
This helps to avoid conflicts in global name space when using libraries that come from different vendors.
4. See html manual for full version of this guide.
AUTHORS
Hai Zaar <haizaar@haizaar.com>
Gil Ran <ril@ran4.net>
SEE ALSO
ldbash(1), ldbashconfig(8), getopts(1), hashstash(1) colors(1) messages(1) urlcoding(1) locks(1)
Linux Epoch Linux