.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "IFEFFIT_SHELL 1p" .TH IFEFFIT_SHELL 1p "2016-11-07" "perl v5.24.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" ifeffit \- Shell Interface to IFEFFIT .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBifeffit\fR is a shell interface to the Ifeffit \s-1XAFS\s0 Analysis System. Ifeffit commands are entered and executed as they are typed in, giving complete access to the Ifeffit library in a relatively friendly command-line program. .PP A sample session might look like this: .PP .Vb 8 \& %~>ifeffit \& Ifeffit 1.0004 Copyright (c) 2000 Matt Newville, Univ of Chicago \& Ifeffit Shell Perl Module 1.2 (ReadLine enabled) \& reading /home/newville/.ifeffitrc ... OK \& Ifeffit> read_data(My.xmu,type=xmu) \& Ifeffit> spline(energy,xmu, rbkg = 1.0, kweight =1 ) \& Ifeffit> plot(energy, xmu) \& Ifeffit> plot(energy, bkg) .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" If you have the Perl module for the ReadLine library (Term::ReadLine and Term::Readkeys are both required), you can use the command-line editing features of the Gnu ReadLine library. Most importantly, this library makes the up arrow scroll through previous commands. It also gives you access to the last 300 commands typed in (stored in the file \fI.ifeffit_hist\fR in your home directory) in previous sessions. The command \f(CW\*(C`l [number]\*(C'\fR shows you the last \f(CW\*(C`number\*(C'\fR commands typed in. .PP There is also some support for command-line completion via the tab key. While typing the first word at the command-line prompt, selected ifeffit commands and shell commands will be 'tab\-completed', meaning that hitting the tab key will complete as much of a partially-typed command as possible. The list of ifeffit and shell commands recognized for this purpose is customizable. After the first word has been fully typed, the tab key will complete file names in the current working directory. .PP e.g.: .PP .Vb 5 \& %~>ifeffit \& Ifeffit 1.0002 Copyright (c) 2000 Matt Newville, Univ of Chicago \& Ifeffit Shell Perl Module 1.2 (ReadLine enabled) \& reading /home/newville/.ifeffitrc ... OK \& Ifeffit> .Ve .IP "1." 4 \&'quit' and 'exit' will exit the program. .Sp \&'l' lists the history buffer .Sp \&'?' is an alias for help, which will display this document, or give a brief command summary (as in: 'help plot'). .Sp \&'??' lists the known system shell commands that can be executed from within ifeffit. For other shell commands, use the '!' character to escape to the system shell. .IP "2." 4 The resource file \fI~/.ifeffitrc\fR (if found) is read at start-up to allow customizations. This file is read as a \fBperl\fR script (not as raw ifeffit commands). To allow further confusion (err, customization), you can load files of ifeffit commands at startup \*(-- \fIifeffit myfile\fR will load the file \fImyfile\fR at start-up, as if you typed 'load myfile' at the command-line. This loading occurs after the \fI~/.ifeffitrc\fR file is read, which can provide a convenient way to override default macro definitions. .IP "3." 4 Shell variables: (can be customized in \fI~/.ifeffitrc\fR) .Sp \&\f(CW$Escape\fR [default = '!'] a line starting with this character is sent to the shell. .Sp \&\f(CW$Prompt\fR [default = 'Ifeffit> '] command-line prompt. .Sp \&\f(CW$HOME\fR [default from Environment Variable] users home directory. .IP "4." 4 A useful procedure for developing and testing ifeffit scripts is .Sp .Vb 3 \& ifeffit> ! emacs script & \& \-\- add ifeffit code to script and save the file \& ifeffit> load script .Ve .SH "CUSTOMIZATION" .IX Header "CUSTOMIZATION" A typical ~/.ifeffitrc file might look like this: .PP .Vb 6 \& # \& # start\-up perl for shiffit \& push @shell_commands, qw(emacs grep gunzip diff); \& # \& # pre\-load some common ifeffit macros \& ifeffit("load $HOME/.ifeffit_macros "); .Ve .PP This file is \*(L"require'd\*(R" by \fIifeffit\fR. The \*(L"push\*(R" line, adds a few more commands to the default list of shell commands. The \*(L"ifeffit\*(R" line loads a bunch of pre-defined ifeffit macros. .SH "AUTHOR" .IX Header "AUTHOR" Matthew Newville \*(-- newville@cars.uchicago.edu .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fITerm::Readline\fR perl module to use the \s-1GNU\s0 Readline library to improve reading the command-line and enabling history mechanism. This module is available from Comprehensive Perl Archive Network. .PP \&\fIIfeffit.pm\fR perl module to use the Ifeffit \s-1XAFS\s0 Analysis library from within perl. Several applications distributed as part of the Ifeffit Analysis System, including this program, requires this Ifeffit perl module, .PP \&\fIIfeffit Reference Manual\fR main reference for the commands of the Ifeffit \&\s-1XAFS\s0 Analysis system.