Home
| Calendar
| Mail Lists
| List Archives
| Desktop SIG
| Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings Linux Cafe | Meeting Notes | Linux Links | Bling | About BLU |
On Sun, Dec 02, 2007 at 08:07:14AM -0500, Jerry Feldman wrote: Understood, but I don't see the rational of the script to begin with. The script is "cd" it is part of the OS, but doesn't seem like it would ever do anything. Also, these files share the hardlinked file: $ ls -lFai cd 52922 -r-xr-xr-x 15 root wheel 147 Aug 19 2006 cd* $ s find / -inum 52922 /usr/bin/alias /usr/bin/bg /usr/bin/cd /usr/bin/command /usr/bin/fc /usr/bin/fg /usr/bin/getopts /usr/bin/hash /usr/bin/jobs /usr/bin/read /usr/bin/type /usr/bin/ulimit /usr/bin/umask /usr/bin/unalias /usr/bin/wait > On Sat, 1 Dec 2007 18:17:18 -0600 > Brian Medley <[hidden email]> wrote: > > > #!/bin/sh > > # $FreeBSD: src/usr.bin/alias/generic.sh,v 1.1 2002/07/16 22:16:03 wollman Exp $ > > # This file is in the public domain. > > ${0##*/} ${1+"$@"} > > $ > > > > What does this do? > > As Kristian says, the first part '${0##*/}" cleans up the name of the > command. > eg. './foo' becomes 'foo' > > The second part concatenates the arguments. > So, if the command is executed as: > ./foo abc def ghi > > the line '${0##*/} ${1+"$@"}' then becomes: > foo abc def ghi > > The ${...} is a shell builtin curly-bracket string pattern matching. > In the case of ${0##*/} the ## matches the beginning of the variable 0 > up to and including the /. So that '/usr/bin/foo' becomes 'foo' > > -- > Jerry Feldman <[hidden email]> > Boston Linux and Unix user group > http://www.blu.org PGP key id:C5061EA9 > PGP Key fingerprint:053C 73EC 3AC1 5C44 3E14 9245 FB00 3ED5 C506 1EA9
BLU is a member of BostonUserGroups | |
We also thank MIT for the use of their facilities. |