bash and strings

Giorgos Keramidas keramida at ceid.upatras.gr
Fri Nov 16 05:34:35 PST 2007


On 2007-11-16 03:43, jhall at vandaliamo.net wrote:
> Everyone,
>
> I'm sure this is easy, and I am making it harder than it is.
>
> I am being supplied a list of files, and need to create the files and
> directories to hold them, but I cannot figure out how to take the string
> apart.
>
> For example, I am given
>
> /usr/local/scripts/firewall.sh
>
> I need to create the /usr/local/scripts directory and then create
> firewall.sh.

See the `dirname' and `basename' commands:

	$ dirname "/usr/local/scripts/firewall.sh"
	/usr/local/scripts
	$

	$ basename "/usr/local/scripts/firewall.sh"
	firewall.sh
	$

Be careful about properly quoting the filenames though (note how the
first invocation of `dirname' fails below, and try to understand why
it fails):

	$ testname='foo bar baz'
	$ dirname $testname
	usage: dirname string
	$ dirname "${testname}"
	.
	$



More information about the freebsd-questions mailing list