[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bash: cd improvement
From: |
Chet Ramey |
Subject: |
Re: bash: cd improvement |
Date: |
Mon, 13 May 2002 13:18:15 -0400 |
> dont know if this is targeted correctly,
> or in any way interesting.
>
> Ive written a little patch that will let a user
> change directory to the working directory of a specific job.
>
> cd %<jobid>
Easy enough to do with a shell function:
jwd()
{
local j
jwd= # global
j=$(jobs "$1")
[ -z "$j" ] && return;
case "$j" in
*\(wd:*) jwd=${j##*(wd: } ; jwd=${jwd%?} ;;
*) return ;;
esac
}
This takes a job id as an argument and sets $jwd to that job's working
directory, if it differs from $PWD (and is thus printed in the output
of `jobs'). This function can be compressed; it's in separate steps
so you can follow the logic. You could also augment it to assign $PWD
to jwd if the job's working directory is the same as $PWD for completeness,
if you like.
You can do something like this, (probably) augmenting an already-existing
function replacement for `cd':
cd()
{
...
case "$1" in
%*) jwd $1
[ -n "$jwd" ] && builtin cd "$jwd"
return ;;
*) builtin cd "$@" ; return ;;
esac
...
}
Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
( ``Discere est Dolere'' -- chet)
Chet Ramey, CWRU chet@po.CWRU.Edu http://cnswww.cns.cwru.edu/~chet/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: bash: cd improvement,
Chet Ramey <=