On Thu, 19 Sep 2013 19:36:43 +0000, william benton wrote:
> when I log into free bsd I am in the sh shell. i type history
> at the command line and the machine says history not found.
> If I type h at the command line it works like i expect the
> history command to work.

That is strange. The sh shell (system scripting shell and
emergency dialog shell in SUM) does not have a history function.

        % sh
        $ h
        h: not found
        $ history
        history: not found
        $ _



> In the csh or tcsh shells history works as well as h.

This is correct. A system-wide alias is defined for those shells:

        alias   h       'history 25'

It can be found in /etc/csh.cshrc.



> why does entering history at the command line work in the csh and
> tcsh  shells  but not in the sh shell.

The sh shell (Bourne-like shell, actually a derivate of ash) does
not have this functionality. Bash, the Bourne-again shell, supports
the "history" function internally, and a "h" alias can be defined
for this shell.

        % bash
        $ history
        [...]
          501  history
        $ _



> Considering that all three shells seem to have the same .cshrc file?

They don't. The csh and tcsh (system default dialog shell) use the
cshrc mechanism (/etc/csh.cshrc for global settings, .cshrc for user
settings, and .login and .logout for interactive shells), while sh
uses /etc/profile and .profile and .shrc similarly. Bash uses .profile
as well as .bash_profile and .bash_login in a comparable manner.



-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"

Reply via email to