And what is "overwrite2 not overwritten" (which i would guess is printed to stderr)?
It's an informational message in verbose mode (-v option) reporting on shell's activity when executing (or failing to execute) commands. Overwrite.txt and overwrite2.txt are the test files I created for learning purpose.
It's an informational message in verbose mode (-v option) reporting on shell's activity when executing (or failing to execute) commands.
Two things: first, what you called an "informational message" i did call a "diagnostic message". In this regard i'd call the two expressions synonymous.
Second, and more important: no, the message is not "reporting on shell's activity" at all, because at this point the shell has no activity. When you issue the command:
(regardless of the files involved and if it succeeds or not) what happens is: the shell first interprets the command line. If you happened to use a variable for a filename like this:
the shell would expand the variable to its content first.
Also, wildcards would be expanded. You didn't use any, but suppose your command would be
then the shell would expand the "over*" to a list of filenames/directory names which start with "over". After such an expansion the command would look like this:
Also the PATH variable is used to locate "mv", which you entered without a path. Because perhaps "/usr/bin" is part of the PATH variable the shell calls "/usr/bin/mv" when you enter "mv". If "mv" would be a shell function then this would be executed instead. The same for an alias, etc.. So, after all these transformations, something like the following is in fact executed:
In fact, executed is only the binary: "/usr/bin/mv". The shell will pass the parameters you gave at the command line already parsed (that is: broken into pieces one argument each) to the executable ("/usr/bin/mv"). At this point, the shell passes over to the executable and this runs on its own. The shell does nothing.
Only when the executable ends, it sets a "return code" and the shell sets its special variable "$?" to this return code. This is why i suggested to execute the 4 commands in post #5: the return code (or error code, another synonym) is set anew after each execution of a binary so that "$?" always holds the return code of the last command.
All this means: the "...not overwritten" is not a message from the shell, but in fact a message from "mv" which tells you what is going on. You could also issue a echo $? directly after and find out what the error code is - it is perhaps non-zero when the file could not be overwritten because of the -n switch.
Hi folks,
I totally dislike asking questions in forums but this one eats up to much of my time I need to spend on other topics.
I have a shell-script in which I call a terminal.
I want to invoke bash inside the terminal and print a message inside bash with aid of a here document.
See... (7 Replies)
Dear all,
I want to execute fsck command,can i execute fsck command without any option
asking for more confidence.
Thanks and Regards
Monoj Das (1 Reply)
I am just learning shell scripting and already I found out I have the bad habit of thinking that it is similar to php or c.
I learned some basics and now encountered this problem:
On shell it is possible to type:
$ date --date="2009-10-10 09:08:34"
Sat Oct 10 09:08:34 CEST 2009
... (2 Replies)
Hi Friends,
I could see following oracle process in the glance command. i see nothing running in the database although. I tried google it but no success. Another team ,which needs all the processes on the server is complaining. Can someone help me what exactly are these sessions/ how to ... (1 Reply)
Hi,
what is the meaning of -n option before the grep command ?
grep command searches for the specified string in the file tmp_crontab.txt
but what does -n mean ?
With Regards (1 Reply)
Running HP 11.31 on a HP3600. But when I log in as a user the who command works but if I use an option like "who -m" I get nothing. Any thoughts on what is causing this problem. (11 Replies)
How can I use the 'ps' command to view current sessions but only for a given process/user, with the -u parm?
In older versions of Unix, this used to work, but not in Sun Solaris.
Thanks (4 Replies)
i'm using SunOS 5.7 and I know theres a ls option for seeing what kind of files are in a directory. I was wondering if there was a ls option that could see if the files are txt or files that can be opened in vi (1 Reply)