Sponsored Content
Top Forums UNIX for Advanced & Expert Users HISTSIZE environment variable problem Post 95990 by Kenneth2006 on Monday 16th of January 2006 09:22:13 PM
Old 01-16-2006
$histfile

Hi All,

Sorry, actually this is the first time i use this forum and I post it in wrong section. Please help to remove the message in another section.
One thing I want to ask why I notice that the $HISTSIZE actually is to control the size of HISTORY instead of the $HISTFILE in the korn shell. How can I control the size of $HISTFILE

Hope you all can help

Thanks,
Kenneth
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

help on environment variable

what is the environment variable used for getting the <machine name> . hello $LOGNAME,welcome to <??> I want to print the machine name in the place of <??> Please help. (6 Replies)
Discussion started by: mehuldoshi
6 Replies

2. Shell Programming and Scripting

Environment Variable

First of all I am using C shell. I have a variable destDirectory that holds a path. the path includes an environment variable($user) when I try to execute a command within the script, the $destDirectory gets replaced with the path, but the environment variable is not replaced. I end up... (2 Replies)
Discussion started by: karyn1617
2 Replies

3. Shell Programming and Scripting

problem in getting the path of environment variable set in bashrc in my shell script

hi all i have joined new to the group. i have set an variable in my bashrc file. .bashrc PROGHOME=/home/braf/braf/prog export PROGHOME but while using it in my shell script its path is not taken and i had to explicitly give the export command to set the path. in my script... (8 Replies)
Discussion started by: krithika
8 Replies

4. Shell Programming and Scripting

environment variable

Hi, I have to set bunch of variables and all other programs like make, perl will use them .. Here are my constraints and requirements ... The variables have to be set by executing a script that runs in c shell. I cannot source the script since people who use this script might be on... (8 Replies)
Discussion started by: sharanbr
8 Replies

5. Solaris

Environment variable

Hello, For the moment, my LC_ALL variable is set as "" by default. If I want to change this value, I do : export LC_ALL="en_fr" for example. That I want to know it's : how can I set by default this value ? I want to save it on my profile in order to get it when I open my session... :confused:... (2 Replies)
Discussion started by: MasterapocA
2 Replies

6. Ubuntu

Debian install maintainer environment variable problem

Hi, I am using Ubuntu 8.04 (Hardy heron) and I am trying to package my application using 'dpkg'. I am following 'rules' based debian packaging. I am using install script to copy certain shared object libraries into my package installation path. for eg:... (0 Replies)
Discussion started by: royalibrahim
0 Replies

7. Shell Programming and Scripting

Expand an environment variable in sed, when the variable contains a slash

I'm trying to make a sed substitution where the substitution pattern is an environment variable to be expanded, but the variable contains a "slash". sed -e 's/<HOME_DIRECTORY>/'$HOME'/'This gives me the following error: sed: -e expression #1, char 21: unknown option to `s'Obviously this is... (2 Replies)
Discussion started by: Ilja
2 Replies

8. Shell Programming and Scripting

problem with setting environment variable

shell script: #!/bin/csh set VAR=12345 echo $VAR will peacefully give the output 12345 at shell. I need to use C++ to do the same in some part of the code: string str = "12345"; retValue="set var1= "+str; system(retValue1.c_str()); system("echo $var1"); This doesn't create a system... (1 Reply)
Discussion started by: harshvardhan360
1 Replies

9. UNIX for Dummies Questions & Answers

HISTSIZE and HISTFILESIZE

Hi Whats the exact difference between HISTSIZE and HISTFILESIZE in bash shell? Thanks (4 Replies)
Discussion started by: pandeesh
4 Replies

10. UNIX for Dummies Questions & Answers

Setting environment variable problem in Ubuntu?

I am trying to install timbl- memory based learner tools in ubuntu. it after unpacking the tar file it brings the following msg No package 'ticcutils' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you... (1 Reply)
Discussion started by: gbdaw
1 Replies
history(1)							   User Commands							history(1)

NAME
       history, fc - process command history list

SYNOPSIS
       /usr/bin/fc [-r] [-e editor] [ first [last]]

       /usr/bin/fc -l [-nr] [ first [last]]

       /usr/bin/fc -s [ old = new] [first]

   csh
       history [-hr] [n]

   ksh
       fc -e - [ old = new] [command]

       fc -s [ old = new] [command]

       fc [-e ename] [-nlr] [ first [last]]

DESCRIPTION
   /usr/bin/fc
       The fc utility lists or edits and reexecutes, commands previously entered to an interactive sh.

       The  command history list references commands by number. The first number in the list is selected arbitrarily. The relationship of a number
       to its command will not change except when the user logs in and no other process is accessing the list, at which time the system may  reset
       the  numbering  to  start the oldest retained command at another number (usually 1). When the number reaches the value in HISTSIZE or 32767
       (whichever is greater), the shell may wrap the numbers, starting the next command with a lower number (usually 1).  However,  despite  this
       optional  wrapping  of  numbers, fc will maintain the time-ordering sequence of the commands. For example, if four commands in sequence are
       given the numbers 32 766, 32 767, 1 (wrapped), and 2 as they are executed, command 32 767 is considered the command  previous  to  1,  even
       though its number is higher.

       When commands are edited (when the -l option is not specified), the resulting lines will be entered at the end of the history list and then
       reexecuted by sh. The fc command that caused the editing will not be entered into the history list. If the editor returns a  non-zero  exit
       status,	this will suppress the entry into the history list and the command reexecution. Any command-line variable assignments or redirect-
       ion operators used with fc will affect both the fc command itself as well as the command that results, for example:

       fc -s -- -1 2>/dev/null

       reinvokes the previous command, suppressing standard error for both fc and the previous command.

   csh
       Display the history list. If n is given, display only the n most recent events.

       -r	Reverse the order of printout to be most recent first rather than oldest first.

       -h	Display the history list without leading numbers. This is used to produce files suitable for sourcing using the -h option  to  the
		csh built-in command, source(1).

   History Substitution:
       History	substitution allows you to use words from previous command lines in the command line you are typing. This simplifies spelling cor-
       rections and the repetition of complicated commands or arguments. Command lines are saved in the history list, the size of  which  is  con-
       trolled	by  the  history  variable. The history shell variable may be set to the maximum number of command lines that will be saved in the
       history file, that is:

       set history = 200

       will allow the history list to keep track of the most recent 200 command lines. If not set, the C shell saves only the most recent command.

       A history substitution begins with a ! (although you can change this with the histchars variable) and may occur	anywhere  on  the  command
       line; history substitutions do not nest. The ! can be escaped with  to suppress its special meaning.

       Input lines containing history substitutions are echoed on the terminal after being expanded, but before any other substitutions take place
       or the command gets executed.

   Event Designators:
       An event designator is a reference to a command line entry in the history list.

       !			       Start a history substitution, except when followed by a space character, tab, newline, = or (.

       !!			       Refer to the previous command. By itself, this substitution repeats the previous command.

       !n			       Refer to command line n.

       !-n			       Refer to the current command line minus n.

       !str			       Refer to the most recent command starting with str.

       !?str?			       Refer to the most recent command containing str.

       !?str? additional	       Refer to the most recent command containing str and append additional to that referenced command.

       !{command} additional	       Refer to the most recent command beginning with command and append additional to that referenced command.

       ^previous_word^replacement^     Repeat the previous command line replacing the string previous_word with the string  replacement.  This	is
				       equivalent to the history substitution:

				       Repeat  the  previous  command line replacing the string previous_word with the string replacement. This is
				       equivalent to the history substitution:

				       !:s/previous_word/replacement/.

				       To re-execute a specific previous command and make such a substitution, say, re-executing command #6:

				       !:6s/previous_word/replacement/.

   Word Designators:
       A `:' (colon) separates the event specification from the word designator. 2It can be omitted if the word designator begins with a ^, $,	*,
       -  or  %.  If the word is to be selected from the previous command, the second ! character can be omitted from the event specification. For
       instance, !!:1 and !:1 both refer to the first word of the previous command, while !!$ and !$ both refer to the last word in  the  previous
       command. Word designators include:

       #	       The entire command line typed so far.

       0	       The first input word (command).

       n	       The n'th argument.

       ^	       The first argument, that is, 1.

       $	       The last argument.

       %	       The word matched by (the most recent) ?s search.

       x-y	       A range of words; -y abbreviates 0-y.

       *	       All the arguments, or a null value if there is just one word in the event.

       x*	       Abbreviates x-$.

       x-	       Like x* but omitting word $.

   Modifiers:
       After the optional word designator, you can add a sequence of one or more of the following modifiers, each preceded by a :.

       h		       Remove a trailing pathname component, leaving the head.

       r		       Remove a trailing suffix of the form `.xxx', leaving the basename.

       e		       Remove all but the suffix, leaving the extension.

       s/oldchars/replacements/Substitute  replacements  for oldchars. oldchars is a string that may contain embedded blank spaces, whereas previ-
			       ous_word in the event designator may not.

			       ^oldchars^replacements^

       t		       Remove all leading pathname components, leaving the tail.

       &		       Repeat the previous substitution.

       g		       Apply the change to the first occurrence of a match in each word, by prefixing the above (for example, g&).

       p		       Print the new command but do not execute it.

       q		       Quote the substituted words, escaping further substitutions.

       x		       Like q, but break into words at each space character, tab or newline.

       Unless preceded by a g, the modification is applied only to the first string that matches oldchars. An error results if no string matches.

       The left-hand side of substitutions are not regular expressions, but character strings. Any character can be used as the delimiter in place
       of /. A backslash quotes the delimiter character. The character &, in the right hand side, is replaced by the text from the left-hand-side.
       The & can be quoted with a backslash. A null oldchars uses the previous string either from a oldchars or from a contextual  scan  string  s
       from  !?s.  You can omit the rightmost delimiter if a newline immediately follows replacements; the rightmost ? in a context scan can simi-
       larly be omitted.

       Without an event specification, a history reference refers either to the previous command, or to a previous history reference on  the  com-
       mand line (if any).

   ksh
       Using fc, in the form of

       fc -e - [old=new] [command],

       or

       fc -s [old=new] [command],

       the  command  is re-executed after the substitution old=new is performed. If there is not a command argument, the most recent command typed
       at this terminal is executed.

       Using fc in the form of

       fc [-e ename] [-nlr ] [first [last]],

       a range of commands from first to last is selected from the last HISTSIZE commands that were typed at the terminal. The arguments first and
       last may be specified as a number or as a string. A string is used to locate the most recent command starting with the given string. A neg-
       ative number is used as an offset to the current command number. If the -l flag is selected, the commands are listed  on  standard  output.
       Otherwise,  the editor program -e name is invoked on a file containing these keyboard commands. If ename is not supplied, then the value of
       the variable FCEDIT (default /bin/ed) is used as the editor. When editing is complete, the edited command(s) is executed. If  last  is  not
       specified,  it  will  be  set to first. If first is not specified, the default is the previous command for editing and -16 for listing. The
       flag -r reverses the order of the commands and the flag -n suppresses command numbers when listing. (See ksh(1) for more about command line
       editing.)

       HISTFILE        If  this  variable  is set when the shell is invoked, then the value is the pathname of the file that will be used to store
		       the command history.

       HISTSIZE        If this variable is set when the shell is invoked, then the number of previously entered commands that  are  accessible	by
		       this shell will be greater than or equal to this number.  The default is 128.

   Command Re-entry:
       The  text of the last HISTSIZE (default 128) commands entered from a terminal device is saved in a history file. The file $HOME/.sh_history
       is used if the HISTFILE variable is not set or if the file it names is not writable. A shell can access the  commands  of  all  interactive
       shells which use the same named HISTFILE. The special command fc is used to list or edit a portion of this file. The portion of the file to
       be edited or listed can be selected by number or by giving the first character or characters of the command. A single command or  range	of
       commands  can  be specified. If you do not specify an editor program as an argument to fc then the value of the variable FCEDIT is used. If
       FCEDIT is not defined then /bin/ed is used. The edited command(s) is printed and re-executed upon leaving the editor. The editor name -	is
       used to skip the editing phase and to re-execute the command. In this case a substitution parameter of the form old=new can be used to mod-
       ify the command before execution. For example, if r is aliased to  'fc -e - ' then typing `r bad=good c' will re-execute  the  most  recent
       command which starts with the letter c, replacing the first occurrence of the string bad with the string good.

       Using the fc built-in command within a compound command will cause the whole command to disappear from the history file.

OPTIONS
       The following options are supported:

       -e  editor      Uses  the  editor named by editor to edit the commands. The editor string is a utility name, subject to search via the PATH
		       variable. The value in the FCEDIT variable is used as a default when -e is not specified. If FCEDIT is null  or	unset,	ed
		       will be used as the editor.

       -l	       (The  letter  ell.) Lists the commands rather than invoking an editor on them. The commands will be written in the sequence
		       indicated by the first and last operands, as affected by -r, with each command preceded by the command number.

       -n	       Suppresses command numbers when listing with -l.

       -r	       Reverses the order of the commands listed (with -l ) or edited (with neither -l nor -s).

       -s	       Re-executes the command without invoking an editor.

OPERANDS
       The following operands are supported:

       first	Selects the commands to list or edit. The number of previous commands that can be accessed is determined by the value of the HIST-
       last	SIZE variable. The value of first or last or both will be one of the following:

		[+]number	A positive number representing a command number. Command numbers can be displayed with the -l option.

		-number 	A  negative  decimal number representing the command that was executed number of commands previously. For example,
				-1 is the immediately previous command.

		string		A string indicating the most recently entered command that begins with that string. If the old=new operand is  not
				also specified with -s, the string form of the first operand cannot contain an embedded equal sign.

				When the synopsis form with -s is used:

				  o  If first is omitted, the previous command will be used.

				For the synopsis forms without -s :

				  o  If  last  is  omitted,  last defaults to the previous command when -l is specified; otherwise, it defaults to
				     first.

				  o  If first and last are both omitted, the previous 16 commands will be listed or the  previous  single  command
				     will be edited (based on the -l option).

				  o  If  first	and  last are both present, all of the commands from first to last will be edited (without -l ) or
				     listed (with -l). Editing multiple commands will be accomplished by presenting to the editor all of the  com-
				     mands  at	one  time, each command starting on a new line. If first represents a newer command than last, the
				     commands will be listed or edited in reverse sequence, equivalent to using -r.  For  example,  the  following
				     commands on the first line are equivalent to the corresponding commands on the second:

				     fc -r 10 20     fc    30 40
				     fc   20 10      fc -r 40 30

				  o  When a range of commands is used, it will not be an error to specify first or last values that are not in the
				     history list. fc will substitute the value representing the oldest or newest command in the list,	as  appro-
				     priate. For example, if there are only ten commands in the history list, numbered 1 to 10:

				     fc -l
				     fc 1 99

				     will list and edit, respectively, all ten commands.

		old=new 	Replace the first occurrence of string old in the commands to be reexecuted by the string new.

OUTPUT
       When the -l option is used to list commands, the format of each command in the list is as follows:

       "%d	%s
", <line number>, <command>

       If both the -l and -n options are specified, the format of each command is:

       "	%s
", <command>

       If the commandcommand consists of more than one line, the lines after the first are displayed as:

       "	%s
", <continued-command>

EXAMPLES
       Example 1: Using history and fc

		    csh 				    ksh

       % history			       $ fc -l
	 1   cd /etc				 1   cd /etc
	 2   vi passwd				 2   vi passwd
	 3   date				 3   date
	 4   cd 				 4   cd
	 5   du .				 5   du .
	 6   ls -t				 6   ls -t
	 7   history				 7   fc -l

       % !d				       $ fc -e - d
	 du .					 du .
	 262   ./SCCS				 262   ./SCCS
	 336   .				 336   .

       % !da				       $ fc -e - da
	 Thu Jul 21 17:29:56 PDT 1994		 Thu Jul 21 17:29:56 PDT 1994

       %				       $ alias !='fc -e -'

       % !!				       $ !
	 date					 alias ='fc -e -'
	 Thu Jul 21 17:29:56 PDT 1994

ENVIRONMENT VARIABLES
       See environ(5) for descriptions of the following environment variables that affect the execution of fc: LC_CTYPE, LC_MESSAGES, and NLSPATH.

       FCEDIT	       This  variable, when expanded by the shell, determines the default value for the -e editor option's editor option-argument.
		       If FCEDIT is null or unset, ed(1) will be used as the editor.

       HISTFILE        Determine a pathname naming a command history file. If the HISTFILE variable is not set, the shell may attempt to access or
		       create  a  file .sh_history in the user's home directory. If the shell cannot obtain both read and write access to, or cre-
		       ate, the history file, it will use an unspecified mechanism that allows the history to  operate	properly.  (References	to
		       history	``file'' in this section are understood to mean this unspecified mechanism in such cases.) fc may choose to access
		       this variable only when initializing the history file; this initialization will occur  when  fc	or  sh	first  attempt	to
		       retrieve entries from, or add entries to, the file, as the result of commands issued by the user, the file named by the ENV
		       variable, or a system startup file such as /etc/profile. (The initialization process for the history file can be  dependent
		       on  the	system startup files, in that they may contain commands that will effectively preempt the user's settings of HIST-
		       FILE and HISTSIZE. For example, function definition commands are recorded in the history file,  unless  the  set  -o  nolog
		       option  is set. If the system administrator includes function definitions in some system startup file called before the ENV
		       file, the history file will be initialized before the user gets a chance to influence its  characteristics.)  The  variable
		       HISTFILE  is accessed initially when the shell is invoked. Any changes to HISTFILE will not take effect until another shell
		       is invoked.

       HISTSIZE        Determine a decimal number representing the limit to the number of previous commands that are accessible. If this  variable
		       is  unset,  an  unspecified  default greater than or equal to 128 will be used. The variable HISTSIZE is accessed initially
		       when the shell is invoked. Any changes to HISTSIZE will not take effect until another shell is invoked.

EXIT STATUS
       The following exit values are returned:

       0	Successful completion of the listing.

       >0	An error occurred.

       Otherwise, the exit status will be that of the commands executed by fc.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Availability		     |SUNWcsu			   |
       +-----------------------------+-----------------------------+

SEE ALSO
       csh(1), ed(1), ksh(1), set(1), set(1F), sh(1), source(1), attributes(5), environ(5)

SunOS 5.10							    17 Jul 2002 							history(1)
All times are GMT -4. The time now is 09:08 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy