Slightly off topic but the behaviour of quotes in this context is interesting. In most cases we use quotes to ensure that "find" receives parameters without interference from the shell.
Spot the anomaly in HP-UX 11.11 (which does not have the unquoted {} problem).
Code:
touch 'a b'
find . -type f -name 'a b' -exec echo {} {} \;
./a b ./a b
find . -name 'a b' -exec echo '{}' \;
./a b
find . -name 'a b' -exec echo '{} {}' \;
{} {}
find . -name 'a b' -exec echo '{}' '{}' \;
./a b ./a b
Afterthought with respect to the original post:
Using "rm -f" rather than just "rm" could well hide an error message saying "non-existent" or a "Usage" error.
I don't find this unusual at all, it is exactly what I would expect. {} is being passed as an argument in most cases and find behaves correctly by using it as a substitution. In effect the quotes do nothing at all in this case because they are stripped by the shell and {} a valid argument for find. In the case where '{} {}' is used when the quotes are stripped the argument is {} {} ( one argument ) and find does not interpret this because "{} {}" has no special meaning to find, this gets passed directly to echo.
Consider this code fragment which illustrates what happens:
Code:
#!/bin/ksh
#
# find.sh
#
i=1
while [[ $# -gt 0 ]] ; do
case $1 in
{} )
echo "arg $i : Found special string {}"
shift
;;
* )
echo "arg $i is : $1"
shift
;;
esac
(( i = i + 1 ))
done
Code:
./find.sh {} {} "{}" '{}' '{} {}' "{} {}"
arg 1 : Found special string {}
arg 2 : Found special string {}
arg 3 : Found special string {}
arg 4 : Found special string {}
arg 5 is : {} {}
arg 6 is : {} {}
The point is that unless {} actually has a meaning in the shell, then the quotes are never needed. If the quotes are needed it is not to preserve spaces in the filename, it is to prevent shell interpretation.
Hi
I have installed solaris 10 on an intel machine. Logged in as root. In CDE, i open terminal session, type login alex (normal user account) and password and i get this message
No utpmx entry: you must exec "login" from lowest level "shell" :confused:
What i want is: open various... (0 Replies)
Hi Friends,
Can any of you explain me about the below line of code?
mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`
Im not able to understand, what exactly it is doing :confused:
Any help would be useful for me.
Lokesha (4 Replies)
Hi,
I have line in input file as below:
3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL
My expected output for line in the file must be :
"1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL"
Can someone... (7 Replies)
I have a bunch of random character lines like ABCEDFG. I want to find all lines with "A" and then change any "E" to "X" in the same line. ALL lines with "A" will have an "X" somewhere in it. I have tried sed awk and vi editor. I get close, not quite there. I know someone has already solved this... (10 Replies)
How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address
and column 3 contains “cc” e-mail address to include with same email.
Sample input file, email.txt
Below is an sample code where... (2 Replies)
These three finds worked as expected:
$ find . -iname "*.PDF"
$ find . -iname "*.PDF" \( ! -name "*_nobackup.*" \)
$ find . -path "*_nobackup*" -prune -iname "*.PDF"
They all returned the match:
./folder/file.pdf
:b:
This find returned no matches:
$ find . -path "*_nobackup*" -prune... (3 Replies)
Hello.
System : opensuse leap 42.3
I have a bash script that build a text file.
I would like the last command doing :
print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt
where :
print_cmd ::= some printing... (1 Reply)
Hi 2 all,
i have had AIX 7.2
:/# /usr/IBMAHS/bin/apachectl -v
Server version: Apache/2.4.12 (Unix)
Server built: May 25 2015 04:58:27
:/#:/# /usr/IBMAHS/bin/apachectl -M
Loaded Modules:
core_module (static)
so_module (static)
http_module (static)
mpm_worker_module (static)
... (3 Replies)
Discussion started by: penchev
3 Replies
LEARN ABOUT DEBIAN
startfluxbox
STARTFLUXBOX(1) Fluxbox Manual STARTFLUXBOX(1)NAME
startfluxbox - start a fluxbox session
SYNOPSIS
startfluxbox
DESCRIPTION
startfluxbox is a script which runs the file ~/.fluxbox/startup If it doesn't exist it will be generated.
startfluxbox should be started from your ~/.xinitrc if you use startx, or ~/.xsession if you run a display manager, like xdm.
FILES
~/.fluxbox/startup
This file contains all commands that should be executed before fluxbox is started. The initial file contains helpful comments for
beginners. It also starts fluxbox.
EXAMPLES
The default ~/.fluxbox/startup is as follows:
#!/bin/sh
#
# fluxbox startup-script:
#
# Lines starting with a '#' are ignored.
# Change your keymap:
xmodmap "$HOME/.Xmodmap"
# Applications you want to run with fluxbox.
# MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN ''&'' AT THE END.
#
# unclutter -idle 2 &
# wmnd &
# wmsmixer -w &
# idesk &
# And last but not least we start fluxbox.
# Because it is the last app you have to run it with ''exec'' before it.
exec fluxbox
# or if you want to keep a log:
# exec fluxbox -log "$fluxdir/log"
If you need to start applications after fluxbox, you can change the exec fluxbox line above to something like this:
exec fluxbox &
fbpid=$!
sleep 1
{
xsetroot -cursor_name left_ptr -fg white -bg black &
ipager &
gkrellm2 &
} &
wait $fbpid
So xsetroot, ipager, and gkrellm2 will all be started after fluxbox, after giving fluxbox 1 second to startup.
For more details on what else you can do in this script, see sh(1), or the documentation for your shell.
AUTHORS
The author of startfluxbox(1) is Han Boetes <han at fluxbox.org>
This manpage was converted to asciidoc format by Jim Ramsay <i.am at jimramsay.com> for fluxbox-1.1.2
SEE ALSO fluxbox(1)AUTHOR
Jim Ramsay <i.am@jimramsay.com>
Author.
startfluxbox.txt 28 October 2011 STARTFLUXBOX(1)