IFEFFIT_SHELL(1p)
π NAME π
ifeffit β Shell Interface to IFEFFIT
(also hi bestie, this page comes to you via the User Contributed Perl Documentation manual, so you know it's the good stuff π«Ά)
β¨ SYNOPSIS β¨
So ifeffit is a shell interface to the Ifeffit XAFS Analysis System. The vibe is: you type Ifeffit commands, they get executed right as you type them, and boom β you have complete access to the Ifeffit library through a relatively friendly command-line program. iconic behavior, honestly.
A sample session might look like this:
%~>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)
πΈ DESCRIPTION πΈ
okay so first thing: if you have the Perl module for the ReadLine library β and yes, that means both Term::ReadLine and Term::Readkeys are required, no skipping β you get to use the command-line editing features of the Gnu ReadLine library. π
The most important one? the up arrow scrolls through your previous commands. life-changing. It also gives you access to the last 300 commands you typed in β stored in the file .ifeffit_hist in your home directory β from previous sessions. So your history is right there, waiting for you like a bestie who remembers everything. π₯°
And the command l [number] shows you the last number commands typed in.
There's also some support for command-line completion via the tab key. While you're typing the first word at the command-line prompt, selected ifeffit commands and shell commands will be 'tab-completed', meaning 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. And after the first word has been fully typed, the tab key will complete file names in the current working directory. she does it all β¨
e.g.:
%~>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>
- the essentials, bestie:
'quit'and'exit'will exit the program. (noooo don't go π)'l'lists the history buffer'?'is an alias for help, which will display this document, or give a brief command summary (as in:'help plot').'??'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.
- The resource file
~/.ifeffitrc(if found) is read at start-up to allow customizations. Heads up though: this file is read as a perl script, not as raw ifeffit commands. To allow further confusion (err, customization), you can load files of ifeffit commands at startup βifeffit myfilewill load the filemyfileat start-up, as if you typed'load myfile'at the command-line. This loading occurs after the~/.ifeffitrcfile is read, which can provide a convenient way to override default macro definitions. sneaky and useful π§ - Shell variables: (can be customized in
~/.ifeffitrc)$Escapeβ [default ='!'] a line starting with this character is sent to the shell.$Promptβ [default ='Ifeffit> '] command-line prompt.$HOMEβ [default from Environment Variable] users home directory.
- A useful procedure for developing and testing ifeffit scripts is
ifeffit> ! emacs script &
-- add ifeffit code to script and save the file
ifeffit> load script
π CUSTOMIZATION π
A typical ~/.ifeffitrc file might look like this:
#
# start-up perl for shiffit
push @shell_commands, qw(emacs grep gunzip diff);
#
# pre-load some common ifeffit macros
ifeffit("load $HOME/.ifeffit_macros ");
This file is "require'd" by ifeffit. The "push" line adds a few more commands to the default list of shell commands. The "ifeffit" line loads a bunch of pre-defined ifeffit macros. two lines, so much power, we love to see it π
π¦ AUTHOR π¦
Matthew Newville -- newville@cars.uchicago.edu
π SEE ALSO π
Term::Readlineperl module to use the GNU Readline library to improve reading the command-line and enabling history mechanism. This module is available from Comprehensive Perl Archive Network.Ifeffit.pmperl module to use the Ifeffit XAFS Analysis library from within perl. Several applications distributed as part of the Ifeffit Analysis System, including this program, requires this Ifeffit perl module,Ifeffit Reference Manualmain reference for the commands of the Ifeffit XAFS Analysis system.
and that's the whole page bestie, no cap π go forth and plot(energy, xmu) your heart out
sign-off time: this lil doc is perl v5.32.1, dated 2021-11-22, and it lives under the name IFEFFIT_SHELL(1p). periodt. π
β¨π
π¦ where this page comes from
- debian bookworm: horae 071~svn537+ds1-1 Β· horae
- ubuntu jammy: horae 071~svn537+ds1-1 Β· horae
- ubuntu noble: horae 071~svn537+ds1-1 Β· horae
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms