[NTLUG:Discuss] Shell script help
Fred James
fredjame at fredjame.cnc.net
Thu May 11 17:05:14 CDT 2006
Daniel
Two Unix/Linux commands to explore
basename
dirname
the first returns the filename, stripping off the path, and the second
does the opposite. Hope this helps
Regards
Fred James
. Daniel wrote:
>This should probably be real easy for someone with experience. It'd be
>pretty easy to write in C, so I'm a little embarassed that I find this so
>challenging. Here's the scenario:
>
>GNOME's Nautilus has user-scripts. This, I thought, would be a terrific
>vehicle for me to be able to create a "powertoy" (to borrow an expression
>from Microsoft) that I once used frequently when I used Windows. In this
>case, the tool would let me right-click on a folder and "Launch Command
>Prompt Here" where it would open a command shell window with the current
>working directory was set to the location of the folder indicated. So
>that's what I want to do here.
>
>What I have to work with is the environment variable:
>$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
>
>My script, as it is, kinda works. It consists of two lines:
>
>#!/bin/sh
>cd $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
>gnome-terminal --geometry=132x25
>
>Since Nautilus does not determine whether the file indicated is a file or a
>folder, the script is available always. So I would like the behavior to
>be:
>
>If it's a folder, change to that directory. If it's a file, change to the
>directory that file is in.
>
>In my mind, the logic would go something like:
>
>if filename is a file then
> trim filename back to the last folder name
>endif
>chgdir filename
>
>The trouble is that I can't figure out a way to trim the filename off the
>end of full path list.
>
>So my request to any and all shell script wizards is "how do I trim a
>filename off the end of a pathlist?" e.g. make
>"/home/username/pictures/dsc00054.jpg" into "/home/username/pictures"
>
>
>
>_______________________________________________
>http://ntlug.pmichaud.com/mailman/listinfo/discuss
>
>
>
>
More information about the Discuss
mailing list