03-06-2012
ksh: hash (#) at beginning of a line exits the shell
This is WILD!
Under Ubuntu (where I am cross-posting this problem) I have lately noticed by terminal windows/tabs closing unexpectedly. I finally caught it: I was composing a complicated command so I practices it a few times commented out - that is, with a # at the start of the line. What is now happening is as follows:
- If I start the line with #<white-space> i.e. a space or tab following the #, the shell abruptly exits.
- If I start with the # and a letter, say l, it traces down my history for all old commands that started with l. When I add a letter to that - e.g. s, the list is pared down to all old commands [in my history] that had started with ls. As soon as my typed comment becomes fails to match anything in my history, it exits.
- If there are any command lines in my history that did start with blanks (I've been experimenting) it pops those up, paring the list as I type characters, until it hits something not in my history. Then it exits. This is essentially the same as my point above.
This appears to be a bizarre setting or option in my history; that the
hash activates a history search.
I don't want it! What is it and how do I turn it off?
The version I'm using is "Version JM 93u 2011-02-08".
This does not happen with bash; the first time I have found bash behaving better than ksh. Furthermore, after searching the ksh man page, it occurred to me to
set -o emacs and try it. I still get the history search but it does not exit the shell upon confirmed mismatch.
Thanks for diagnosis/advice/help.
__________________
-- Rasputin Paskudniak II (In pursuit of undomesticated, semi-aquatic avians)
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Could anybody help me.
I need to create a script that reads a text file from STDIN and prints out the file to STDOUT with line numbers at the beginning of each line.
Thanks. (5 Replies)
Discussion started by: mascorro
5 Replies
2. Shell Programming and Scripting
I have a vendor that needs to install a set of scripts (written in korn) that will be run as root through crontab every day. This set of scripts will need to ssh as root to other servers without getting challenged for user name or password. So I have set up ssh key pairing and authorized_keys... (2 Replies)
Discussion started by: StHalcyon
2 Replies
3. Shell Programming and Scripting
Dear,
I have written below code to initiate the log at top of my script.
#Set the log file
LOGFILE=<path>/<filename.log>
exec > $LOGFILE 2>&1
...............
....
...
..
............
echo -e "\n\n Script finished OK " `date "+%m/%d/%y %H:%M:%S" ` "\n\n"
exit 0
the logging ends only... (14 Replies)
Discussion started by: Imran_Chennai
14 Replies
4. Shell Programming and Scripting
Hello - I have a script which creates a NIS user on Solaris machine. Before creating the user I check if the user being created laready exists or not using ypmatch and use $? to get the exit code. If a user exists, I get 0, works fine. However when the user is not found, the shell scripts exits by... (1 Reply)
Discussion started by: manju--
1 Replies
5. Shell Programming and Scripting
hey,
i would like to add a line number to the beginning like so:
red
blue
green
yellow
will be:
1=>red
2=>blue
3=>green
4=>yellowplease advise
thank u. (5 Replies)
Discussion started by: boaz733
5 Replies
6. Shell Programming and Scripting
How can I delete spaces at the begining of all lines of my file ? (2 Replies)
Discussion started by: Sara_84
2 Replies
7. UNIX for Dummies Questions & Answers
How can I specify special meaning characters like ^ or $ inside a regex range. e.g
Suppose I want to search for a string that either starts with '|' character or begins with start-of-line character.
I tried the following but it does not work:
sed 's/\(\)/<do something here>/g' file1
... (3 Replies)
Discussion started by: jawsnnn
3 Replies
8. UNIX for Dummies Questions & Answers
How would you do vim copy line and paste at the beginning, middle, and end of another line. I know yy copies the whole line and p pastes the whole line, but on its own separate line. Sometimes I would like to copy a line to the beginning, middle, or end of another line. I would think this would be... (3 Replies)
Discussion started by: cokedude
3 Replies
9. Shell Programming and Scripting
I need to comment the lines starting with pattern "exclude" or "exclude=". If the work exclude comes at any other part, ignore it. Also, ignore, excludes, excluded etc. Ie only comment the line starting with exclude.
File contents.
exclude
exclude=
hi I am excluded
excludes
excludes=
... (9 Replies)
Discussion started by: anil510
9 Replies
10. Shell Programming and Scripting
Hi
from a script i want to to read a file beginning at line e.g. number 21 to the EOF.
less +n21 temp.txt
Bevor the result, it brings an empty page, so that i cant use for scripting.
Any idea how the problem can be solved?
Thanks in advance!
IMPe (2 Replies)
Discussion started by: IMPe
2 Replies
LEARN ABOUT REDHAT
history
history(n) Tcl Built-In Commands history(n)
__________________________________________________________________________________________________________________________________________________
NAME
history - Manipulate the history list
SYNOPSIS
history ?option? ?arg arg ...?
_________________________________________________________________
DESCRIPTION
The history command performs one of several operations related to recently-executed commands recorded in a history list. Each of these
recorded commands is referred to as an ``event''. When specifying an event to the history command, the following forms may be used:
[1] A number: if positive, it refers to the event with that number (all events are numbered starting at 1). If the number is negative,
it selects an event relative to the current event (-1 refers to the previous event, -2 to the one before that, and so on). Event 0
refers to the current event.
[2] A string: selects the most recent event that matches the string. An event is considered to match the string either if the string
is the same as the first characters of the event, or if the string matches the event in the sense of the string match command.
The history command can take any of the following forms:
history
Same as history info, described below.
history add command ?exec?
Adds the command argument to the history list as a new event. If exec is specified (or abbreviated) then the command is also exe-
cuted and its result is returned. If exec isn't specified then an empty string is returned as result.
history change newValue ?event?
Replaces the value recorded for an event with newValue. Event specifies the event to replace, and defaults to the current event
(not event -1). This command is intended for use in commands that implement new forms of history substitution and wish to replace
the current event (which invokes the substitution) with the command created through substitution. The return value is an empty
string.
history clear
Erase the history list. The current keep limit is retained. The history event numbers are reset.
history event ?event?
Returns the value of the event given by event. Event defaults to -1.
history info ?count?
Returns a formatted string (intended for humans to read) giving the event number and contents for each of the events in the history
list except the current event. If count is specified then only the most recent count events are returned.
history keep ?count?
This command may be used to change the size of the history list to count events. Initially, 20 events are retained in the history
list. If count is not specified, the current keep limit is returned.
history nextid
Returns the number of the next event to be recorded in the history list. It is useful for things like printing the event number in
command-line prompts.
history redo ?event?
Re-executes the command indicated by event and return its result. Event defaults to -1. This command results in history revision:
see below for details.
HISTORY REVISION
Pre-8.0 Tcl had a complex history revision mechanism. The current mechanism is more limited, and the old history operations substitute and
words have been removed. (As a consolation, the clear operation was added.)
The history option redo results in much simpler ``history revision''. When this option is invoked then the most recent event is modified
to eliminate the history command and replace it with the result of the history command. If you want to redo an event without modifying
history, then use the event operation to retrieve some event, and the add operation to add it to history and execute it.
KEYWORDS
event, history, record
Tcl history(n)