<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: rm -fr * in Operating System - HP-UX</title>
    <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996733#M777526</link>
    <description>Interesting!!&lt;BR /&gt;Peter, &lt;BR /&gt;The idea of using a \* or a "*" did occur to me. But it kinda defeats the purpose of checking for a wildcard since if I am careful enough to write a \* then I will be careful enough not to delete my home dir.&lt;BR /&gt;&lt;BR /&gt;Eric,&lt;BR /&gt;Your explanation is very plausible. But as gurus of UNIX say "there is always another way of doing it". There must be some other way apart from editing the shell.&lt;BR /&gt;&lt;BR /&gt;Rac,&lt;BR /&gt;I tried the code given. There were some errors. (I use csh by force of requirement but for this I did switch to ksh for once and i have no idea of ksh syntax!!). A blind copy-paste-run of the script gives syntax error: `done' unexpected.&lt;BR /&gt;also after I comment out done it gives me a sdyntax error: `then' unmatched.&lt;BR /&gt;can you give the same for csh??</description>
    <pubDate>Fri, 11 Aug 2006 05:30:52 GMT</pubDate>
    <dc:creator>Preetam</dc:creator>
    <dc:date>2006-08-11T05:30:52Z</dc:date>
    <item>
      <title>rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996727#M777520</link>
      <description>Hi, i accidently typed "rm -fr *" and this deleted my whole home directory. Fortunately I had a backup and restored it. Since this fiasco I sat down to write a script(rem in c shell) for detecting "rm" combined with "*". My problem is when i use * as arguement in cmd line for the script it expands to the all the files in the current directory ( an echo of number of arguements for rem * does not give 1 but evaluates to number of files in the directory). How do I detect a special char (like *) passed as an arguement from cmd line??</description>
      <pubDate>Fri, 11 Aug 2006 02:36:45 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996727#M777520</guid>
      <dc:creator>Preetam</dc:creator>
      <dc:date>2006-08-11T02:36:45Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996728#M777521</link>
      <description>Hi,&lt;BR /&gt;what are you trying to achieve with your script? You can alias rm to rm -i to build a double protection against accidential delete.&lt;BR /&gt;I assume your script is going to replace the normal rm command and give a warning if the "*" is used ?&lt;BR /&gt;Please give more background.&lt;BR /&gt;(Congratulations on having a good backup !)</description>
      <pubDate>Fri, 11 Aug 2006 02:50:58 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996728#M777521</guid>
      <dc:creator>Peter Godron</dc:creator>
      <dc:date>2006-08-11T02:50:58Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996729#M777522</link>
      <description>Yup, your assumption is correct. I basically want to write a script for detecting a "*" with rm cmd. That, as you said, can be achieved with the rm -i alias which will also create problems if I want to delete a set of files *.xyz anytime. Right now I am trying to learn scripting so I use scripts for all the things I can think of (this being one of them). So if in future I want to detect a "*" in any of my scripts how do I do it? basically how do I bypass the "*" expansion functionality of the OS before it is passed to the script? &lt;BR /&gt;I would be happy to clarify any more queries.</description>
      <pubDate>Fri, 11 Aug 2006 04:01:04 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996729#M777522</guid>
      <dc:creator>Preetam</dc:creator>
      <dc:date>2006-08-11T04:01:04Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996730#M777523</link>
      <description>Hi,&lt;BR /&gt;a file * can be removed via&lt;BR /&gt;rm "*" or rm \* (no spaces)&lt;BR /&gt;&lt;BR /&gt;$ touch *&lt;BR /&gt;$ ll&lt;BR /&gt;total 0&lt;BR /&gt;-rw-rw-rw-   1 gp   users            0 Aug 11 10:14 *&lt;BR /&gt;$ rm "*"&lt;BR /&gt;$ ll&lt;BR /&gt;total 0&lt;BR /&gt;$ touch *&lt;BR /&gt;$ ll   &lt;BR /&gt;total 0&lt;BR /&gt;-rw-rw-rw-   1 gp   users            0 Aug 11 10:15 *&lt;BR /&gt;$ rm \*&lt;BR /&gt;$ ll&lt;BR /&gt;total 0&lt;BR /&gt;</description>
      <pubDate>Fri, 11 Aug 2006 04:09:19 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996730#M777523</guid>
      <dc:creator>Peter Godron</dc:creator>
      <dc:date>2006-08-11T04:09:19Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996731#M777524</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;As it is the shell which processes carateres *, you would have to modify the shell itself !&lt;BR /&gt;&lt;BR /&gt;You cannot replace the command rm by a script asked to handle carateres * because it will receive the list of the files of the current directory : shell behavior.&lt;BR /&gt;&lt;BR /&gt;I think there is no simple answer to your question unless you rewrite C-Shell&lt;BR /&gt;</description>
      <pubDate>Fri, 11 Aug 2006 04:12:36 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996731#M777524</guid>
      <dc:creator>Eric SAUBIGNAC</dc:creator>
      <dc:date>2006-08-11T04:12:36Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996732#M777525</link>
      <description>move rm binary somewhere and put a following script as "rm". Please note that any patches that patch rm binary will overwrite rm script.&lt;BR /&gt;&lt;BR /&gt;(not tested fully. So double check before you use it)&lt;BR /&gt;#/usr/bin/ksh&lt;BR /&gt;first=$(echo ${1}|tr -cd '\*'|cut -c1)&lt;BR /&gt;if [ ${first} = "\*" ];then&lt;BR /&gt;echo "you have used "\*" in rm command!!1 Will exit now.\n"&lt;BR /&gt;exit 1&lt;BR /&gt;done&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;We also need to add more error checking to see if any of the args has "*" and not just first arg.</description>
      <pubDate>Fri, 11 Aug 2006 04:13:38 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996732#M777525</guid>
      <dc:creator>RAC_1</dc:creator>
      <dc:date>2006-08-11T04:13:38Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996733#M777526</link>
      <description>Interesting!!&lt;BR /&gt;Peter, &lt;BR /&gt;The idea of using a \* or a "*" did occur to me. But it kinda defeats the purpose of checking for a wildcard since if I am careful enough to write a \* then I will be careful enough not to delete my home dir.&lt;BR /&gt;&lt;BR /&gt;Eric,&lt;BR /&gt;Your explanation is very plausible. But as gurus of UNIX say "there is always another way of doing it". There must be some other way apart from editing the shell.&lt;BR /&gt;&lt;BR /&gt;Rac,&lt;BR /&gt;I tried the code given. There were some errors. (I use csh by force of requirement but for this I did switch to ksh for once and i have no idea of ksh syntax!!). A blind copy-paste-run of the script gives syntax error: `done' unexpected.&lt;BR /&gt;also after I comment out done it gives me a sdyntax error: `then' unmatched.&lt;BR /&gt;can you give the same for csh??</description>
      <pubDate>Fri, 11 Aug 2006 05:30:52 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996733#M777526</guid>
      <dc:creator>Preetam</dc:creator>
      <dc:date>2006-08-11T05:30:52Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996734#M777527</link>
      <description>I am not very comfortable with csh. I modified the code. Please check.&lt;BR /&gt;&lt;BR /&gt;#/usr/bin/ksh&lt;BR /&gt;first=$(echo ${1}|tr -cd '\*'|cut -c1)&lt;BR /&gt;if [ ${first} = "\*" ];then&lt;BR /&gt;echo "you have used "\*" in rm command!!1 Will exit now.\n"&lt;BR /&gt;exit 1&lt;BR /&gt;fi&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Again, this code checks if first argument to rm has "*" in it or not. Ideally, what you need is code that checks all arguments to rm and if any of those arguments has "*" or not.</description>
      <pubDate>Fri, 11 Aug 2006 05:38:37 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996734#M777527</guid>
      <dc:creator>RAC_1</dc:creator>
      <dc:date>2006-08-11T05:38:37Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996735#M777528</link>
      <description>#/usr/bin/ksh OR #! /bin/ksh OR #! /usr/bin/ksh&lt;BR /&gt;first=$(echo ${1}|tr -cd '\*'|cut -c1)&lt;BR /&gt;if [ ${first} = "\*" ];then&lt;BR /&gt;echo "you have used "\*" in rm command!!1 Will exit now.\n"&lt;BR /&gt;exit 1&lt;BR /&gt;fi&lt;BR /&gt;&lt;BR /&gt;This code gives another type of error. it says test: arguement expected. even when i type "rem *" rem being the script name. even a valid filename insted of * gives the same error. :(</description>
      <pubDate>Fri, 11 Aug 2006 06:23:27 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996735#M777528</guid>
      <dc:creator>Preetam</dc:creator>
      <dc:date>2006-08-11T06:23:27Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996736#M777529</link>
      <description>Now I see it. It's going to be difficult than I thought. Before you do anything to work out that the command argument has "*" in it, shell expands it. So we want a shell not to expand it before we do our check. Quite difficult....</description>
      <pubDate>Fri, 11 Aug 2006 06:45:42 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996736#M777529</guid>
      <dc:creator>RAC_1</dc:creator>
      <dc:date>2006-08-11T06:45:42Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996737#M777530</link>
      <description>Hi Preetam:&lt;BR /&gt;&lt;BR /&gt;In the Posix shell if you want to disable file name generation, simply do:&lt;BR /&gt;&lt;BR /&gt;# set -f&lt;BR /&gt;&lt;BR /&gt;Compare this:&lt;BR /&gt;&lt;BR /&gt;# set +f&lt;BR /&gt;# echo *&lt;BR /&gt;# set -f&lt;BR /&gt;# echo *&lt;BR /&gt;&lt;BR /&gt;Regards!&lt;BR /&gt;&lt;BR /&gt;...JRF...</description>
      <pubDate>Fri, 11 Aug 2006 06:53:24 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996737#M777530</guid>
      <dc:creator>James R. Ferguson</dc:creator>
      <dc:date>2006-08-11T06:53:24Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996738#M777531</link>
      <description>no ????????</description>
      <pubDate>Fri, 11 Aug 2006 06:53:45 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996738#M777531</guid>
      <dc:creator>Eric SAUBIGNAC</dc:creator>
      <dc:date>2006-08-11T06:53:45Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996739#M777532</link>
      <description>Sorry my amused "no ???" was for RAC as i said the same thing a little earlier ...&lt;BR /&gt;&lt;BR /&gt;Yes, James, you are right with posix shell but preetam wants to work with C-shell. I don't practice c-shell but i did not hear of same behavior that set -/+f with posix shell&lt;BR /&gt;&lt;BR /&gt;Anyway, i could never work with shell without character expansion. Ok, you can do some big mistake but it's life ;-) Anyway Peter's suggestion to make an alias to rm -i is a good protection.&lt;BR /&gt;</description>
      <pubDate>Fri, 11 Aug 2006 07:11:52 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996739#M777532</guid>
      <dc:creator>Eric SAUBIGNAC</dc:creator>
      <dc:date>2006-08-11T07:11:52Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996740#M777533</link>
      <description>Hi (again) Folks:&lt;BR /&gt;&lt;BR /&gt;In the 'csh' you can use 'noglob' to disable file name expansion.&lt;BR /&gt;&lt;BR /&gt;Users of 'csh' might want to read this:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/" target="_blank"&gt;http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Barring any shell preferences, on HP-UX you cannot change root's default shell from other than '/sbin/sh' since to do so leads to an unbootable system.  That said, one would do well to understand the ramifications of file name expansion in the  Posix shell, and be extra careful typing 'rm -f' under all conditions!!!&lt;BR /&gt;&lt;BR /&gt;Regards!&lt;BR /&gt;&lt;BR /&gt;...JRF...</description>
      <pubDate>Fri, 11 Aug 2006 07:22:39 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996740#M777533</guid>
      <dc:creator>James R. Ferguson</dc:creator>
      <dc:date>2006-08-11T07:22:39Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996741#M777534</link>
      <description>James that was a very useful bit of info... it works in ksh too... but sadly not in csh... &lt;BR /&gt;trying to work it into a script...&lt;BR /&gt;&lt;BR /&gt;eric, i have to work in csh coz my repository has all the required scripts in csh else i would ve preffered a different shell...&lt;BR /&gt;&lt;BR /&gt;Please do keep me posted abt any brainstorms regarding this on csh...</description>
      <pubDate>Fri, 11 Aug 2006 07:23:13 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996741#M777534</guid>
      <dc:creator>Preetam</dc:creator>
      <dc:date>2006-08-11T07:23:13Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996742#M777535</link>
      <description>Rather than making the shell not expand *, I would do a check to see if the arguments passed match the contents of the current directory. Something like &lt;BR /&gt;wildcard=1&lt;BR /&gt;for file in $(echo *); do&lt;BR /&gt; if [ $(echo " $* " | grep -c " $file ") -ne 1 ]; then&lt;BR /&gt;  wildcard=0; &lt;BR /&gt;  break; &lt;BR /&gt; fi; &lt;BR /&gt;done&lt;BR /&gt;&lt;BR /&gt;echo "used wildcard? $wildcard"&lt;BR /&gt;&lt;BR /&gt;Heavy-handed, but it should work.</description>
      <pubDate>Fri, 11 Aug 2006 07:28:37 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996742#M777535</guid>
      <dc:creator>Jonathan Fife</dc:creator>
      <dc:date>2006-08-11T07:28:37Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996743#M777536</link>
      <description>Hi Preetam:&lt;BR /&gt;&lt;BR /&gt;"Globbing" is the real term for filename expansion using wildcards.  Now, you should be able to remember that in 'csh' you set 'noglob' to disable it :-))&lt;BR /&gt;&lt;BR /&gt;See the manpages:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://docs.hp.com/en/B2355-60127/csh.1.html" target="_blank"&gt;http://docs.hp.com/en/B2355-60127/csh.1.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;By the way, while aliasing 'rm' to 'rm -i' is an extra layer of protection in an interactive shell, anytime you type 'rm -f' you override the '-i' switch.&lt;BR /&gt;&lt;BR /&gt;Regards!&lt;BR /&gt;&lt;BR /&gt;...JRF...</description>
      <pubDate>Fri, 11 Aug 2006 07:33:38 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996743#M777536</guid>
      <dc:creator>James R. Ferguson</dc:creator>
      <dc:date>2006-08-11T07:33:38Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996744#M777537</link>
      <description>Preetam,&lt;BR /&gt;&lt;BR /&gt;You may also want to think about implementing a staging area for files pending deletion (a la "Trash" or "Recycle Bin").  Move the 'rm' binary somewhere safe and replace it with a script that moves files to a secure staging area.  Make sure the script accounts for large files (perhaps by deleting them outright instead of moving them).  Then cron a clean up job to purge the staging area.&lt;BR /&gt;&lt;BR /&gt;PCS</description>
      <pubDate>Fri, 11 Aug 2006 07:43:54 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996744#M777537</guid>
      <dc:creator>spex</dc:creator>
      <dc:date>2006-08-11T07:43:54Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996745#M777538</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;the following will work in TCSH but not in csh,&lt;BR /&gt; because csh won't deal with then parameters 'argn' supplied to&lt;BR /&gt;&lt;BR /&gt;source filename arg1 arg2 ...&lt;BR /&gt;&lt;BR /&gt;cat ~/bin/mec&lt;BR /&gt;#!/usr/bin/tcsh   # just for syntax highlighting&lt;BR /&gt;if ("$argv[1]" == '*') then&lt;BR /&gt;echo I see a star&lt;BR /&gt;else&lt;BR /&gt;echo $*&lt;BR /&gt;endif&lt;BR /&gt;&lt;BR /&gt;Set this alias:&lt;BR /&gt;alias myecho ~/bin/mec&lt;BR /&gt;&lt;BR /&gt;Now entering&lt;BR /&gt;myecho *&lt;BR /&gt;&lt;BR /&gt;will lead to the above message, anything else will return the shell-expanded arguments.&lt;BR /&gt;&lt;BR /&gt;Adopting for a rm-lile solution is trivial.&lt;BR /&gt;&lt;BR /&gt;NB: TCSH only!&lt;BR /&gt;&lt;BR /&gt;mfG Peter&lt;BR /&gt;</description>
      <pubDate>Fri, 11 Aug 2006 09:32:33 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996745#M777538</guid>
      <dc:creator>Peter Nikitka</dc:creator>
      <dc:date>2006-08-11T09:32:33Z</dc:date>
    </item>
    <item>
      <title>Re: rm -fr *</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996746#M777539</link>
      <description>It will be impossible to protect from rm -fr using wrapper scripts. You happened to type * but it would be 1000 times more disastrous if you typed rm -fr / (which wipes the disks clean). It could also be a spelling error where a space got accidently put into a pahname like:&lt;BR /&gt; &lt;BR /&gt;rm -fr /var /tmp/myfiles*&lt;BR /&gt; &lt;BR /&gt;In this case, the accidental space just started rm removing the entire /var directory (a disaster since all installed patches and HP product histories are now gone).&lt;BR /&gt; &lt;BR /&gt;So a wrapper won't work. Instead, alias the dangerous commands rm mv and cp to:&lt;BR /&gt; &lt;BR /&gt;alias rm="/usr/bin/rm -i"&lt;BR /&gt;alias mv="/usr/bin/mv -i"&lt;BR /&gt;alias cp="/usr/bin/cp -i"&lt;BR /&gt; &lt;BR /&gt;-i forces these commands to ask permission for each file or directory that will be destroyed.&lt;BR /&gt; &lt;BR /&gt;Now unfortunately this only helps when you don't use the -f option which overrides -i. Here is where a wrapper script would help. Use getopts to process all the possible option combinations and disallow -f. You can rename the real binaries like rm to something like rm.real, etc. then have your wrapper script implement -i for everything. For knowledgeable users, they can use the real binaries. Note that all users must have the above aliases so they don't use any shell builtin commands.</description>
      <pubDate>Fri, 11 Aug 2006 21:33:36 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/rm-fr/m-p/4996746#M777539</guid>
      <dc:creator>Bill Hassell</dc:creator>
      <dc:date>2006-08-11T21:33:36Z</dc:date>
    </item>
  </channel>
</rss>

