📄 nutmeg.0
字号:
SPICE-3 server machine. Note that this com- mand will only work if your system adminis- trator is running a SPICE-3 daemon on the remote host. If the variable _r_p_r_o_g_r_a_m is set, then rspice will use this as the path- name to the program to run. echo [stuff...] Echos the arguments. fourier fundamental_frequency [value ...] Does a fourier analysis of each of the given values, using the first 10 multiples of the fundamental frequency (or the first _n_f_r_e_q_s, 13NUTMEG(1) 27 April 1987 if that variable is set - see below). The output is like that of the .four card. The values may be any valid expression. The values are interpolated onto a fixed-space grid with the number of points given by the fourgridsize variable, or 200 if it is not set. The interpolation will be of degree polydegree if that variable is set, or 1. If polydegree is 0, then no interpolation will be done. This is likely to give erroneous results if the time scale is not monotonic, though. version [version id] Print out the version of nutmeg that is run- ning. If there are arguments, it checks to make sure that the arguments match the current version of SPICE. (This is mainly used as a Command: line in rawfiles.) rehash Recalculate the internal hash tables used when looking up UNIX commands, and make all UNIX commands in the user's PATH available for command completion. This is useless unless you have set unixcom first (see above). The following control structures are available: while _c_o_n_d_i_t_i_o_n statement ... end While _c_o_n_d_i_t_i_o_n, an arbitrary algebraic expression, is true, execute the statements. repeat [_n_u_m_b_e_r] statement ... end Execute the statements _n_u_m_b_e_r times, or forever if no argu- ment is given. dowhile _c_o_n_d_i_t_i_o_n statement ... end1427 April 1987 NUTMEG(1) The same as while, except that the _c_o_n_d_i_t_i_o_n is tested after the statements are executed. foreach _v_a_r _v_a_l_u_e ... statement ... end The statements are executed once for each of the _v_a_l_u_es, each time with the variable _v_a_r set to the current one. (_v_a_r can be accessed by the $_v_a_r notation - see below). if _c_o_n_d_i_t_i_o_n statement ... else statement ... end If the _c_o_n_d_i_t_i_o_n is non-zero then the first set of state- ments are executed, otherwise the second set. The else and the second set of statements may be omitted. label _w_o_r_d If a statement of the form goto _w_o_r_d is encountered, control is transfered to this point, otherwise this is a no-op. goto _w_o_r_d If a statement of the form label _w_o_r_d is present in the block or an enclosing block, control is transfered there. Note that if the label is at the top level, it _m_u_s_t be before the goto statement (i.e, a forward goto may occur only within a block). continue If there is a while, dowhile, or foreach block enclosing this statement, control passes to the test, or in the case of foreach, the next value is taken. Otherwise an error results. break If there is a while, dowhile, or foreach block enclosing this statement, control passes out of the block. Otherwise an error results. 15NUTMEG(1) 27 April 1987 Of course, control structures may be nested. When a block is entered and the input is the terminal, the prompt becomes a number of >'s equalling the number of blocks the user has entered. The current control structures may be examined with the debugging command cdump. If a word is typed as a command, and there is no built-in command with that name, the directories in the _s_o_u_r_c_e_p_a_t_h list are searched in order for the file. If it is found, it is read in as a command file (as if it were sourced). Before it is read, however, the variables _a_r_g_c and _a_r_g_v are set to the number of words following the filename on the command line, and a list of those words respectively. After the file is finished, these variables are unset. Note that if a command file calls another, it must save its _a_r_g_v and _a_r_g_c since they will get altered. Also, command files may not be re-entrant since there are no local variables. (Of course, the procedures may explicitly manipulate a stack...) This way one can write scripts analogous to shell scripts for nutmeg and with a blank line (or whatever you like, since it will be thrown away) and then a line with .control on it. This is an unfortunate result of the source command being used for both circuit input and command file execu- tion. Note also that this allows the user to merely type the name of a circuit file as a command, and it will be automatically run. There are various command scripts installed in /_u_s_r/_l_o_c_a_l/_l_i_b/_s_p_i_c_e/_s_c_r_i_p_t_s (or whatever the path is on your machine), and the default _s_o_u_r_c_e_p_a_t_h includes this directory, so you can use these command files (almost) like builtin commands. Nutmeg will use either X or MFB, depending on whether it finds the variable DISPLAY in the environment. If you are using X on a workstation, it should already be present, but if you want to display graphics on a different machine than the one you are running nutmeg on, DISPLAY should be of the form _m_a_c_h_i_n_e:0. If X is being used, the cursor may be positioned at any point on the screen when the window is up and characters typed at the keyboard will be added to the window at that point. The window may then be sent to a printer using the xpr(1) program. There are a number of pre-defined constants in nutmeg. They are: pi pi e The base of natural logarithms c The speed of light i The square root of -11627 April 1987 NUTMEG(1) kelvin Absolute 0 in Centigrade echarge The charge on an electron boltz Boltzman's constant planck Planck's constant (h) These are all in MKS units. If you have another variable with a name that conflicts with one of these then it takes precedence. Nutmeg occasionally checks to see if it is getting close to running out of space, and warns the user if this is the case. (This is more likely to be useful with the SPICE front end.) C-shell type quoting with "" and '', and backquote substitu- tion may be used. Within single quotes, no further substitu- tion (like history substitution) is done, and within double quotes, the words are kept together but further substitution is done. Any text between backquotes is replaced by the result of executing the text as a command to the shell. Tenex-style ('set filec' in the 4.3 C-shell) command, filename, and keyword completion is possible: If EOF (control-D) is typed after the first character on the line, a list of the commands or possible arguments is printed. (If it is alone on the line it will exit nutmeg.) If escape is typed, then nutmeg will try to complete what the user has already typed. To get a list of all commands, the user should type <space> ^D. The values of variables may be used in commands by writing $varname where the value of the variable is to appear. The special variables $$ and $< refer to the process ID of the program and a line of input which is read from the terminal when the variable is evaluated, respectively. If a variable has a name of the form $&word, then word is considered a vector (see above), and its value is taken to be the value of the variable. If $_f_o_o is a valid variable, and is of type list, then the expression $_f_o_o[_l_o_w-_h_i_g_h] represents a range of elements. Either the upper index or the lower may be left out, and the reverse of a list may be obtained with $_f_o_o[_l_e_n-_0]. Also, the notation $?_f_o_o evaluates to 1 if the variable _f_o_o is defined, 0 otherwise, and $#_f_o_o evaluates to the number of elements in _f_o_o if it is a list, 1 if it is a number or string, and 0 if it is a boolean variable. History substitutions, similar to C-shell history substitu- tions, are also available - see the C-shell manual page for all of the details. 17NUTMEG(1) 27 April 1987 The characters ~, {, and } have the same effects as they do in the C-Shell, i.e., home directory and alternative expan- sion. It is possible to use the wildcard characters *, ?, [, and ] also, but only if you unset noglob first. This makes them rather useless for typing algebraic expressions, so you should set noglob again after you are done with wildcard expansion. Note that the pattern [^abc] will match all char- acters _e_x_c_e_p_t a, b, and c. IO redirection is available - the symbols >, >>, >&, >>&, and < have the same effects as in the C-shell. You may type multiple commands on one line, seperated by semicolons. If you want to use a different mfbcap file than the default (usually ~cad/lib/mfbcap), you have to set the environment variable MFBCAP before you start nutmeg. The -m option and the mfbcap variable no longer work.VMS NOTES Nutmeg can be run under VAX/VMS. Some features like command, etc completion, expansion of *, ?, and [], backquote substi- tution, the shell command, and so forth do not work. (In fact command completion only works on 4.2 or 4.3 BSD.) Nutmeg will look for start-up commands in the file _s_p_i_c_e._r_c in the current directory. The standard suffix for rawspice files in VMS is ".raw". You will have to respond to the -_m_o_r_e- prompt during plot with a carriage return instead of any key as you can do on UNIX.SEE ALSO sconvert(1), spice(1), mfb(3), writedata(3)AUTHOR Wayne Christopher (faustus@cad.berkeley.edu)BUGS The label entry facilities are very primitive - after all, nutmeg isn't a graphics editor (yet). You must be careful to type very slowly when entering labels -- nutmeg checks the X event queue once every second, and can get very con- fused if characters arrive faster than that. If you redefine colors after creating a plot window with X, and then cause the window to be redrawn, it will not to the right thing.1827 April 1987 NUTMEG(1) When defining aliases like _a_l_i_a_s _p_d_b _p_l_o_t _d_b( '!:_1' - '!:_2' ) you must be careful to quote the argument list substitutions in this manner. If you quote the whole argument it might not work properly. In a user-defined function, the arguments cannot be part of a name that uses the _p_l_o_t._v_e_c syntax. I.e, _d_e_f_i_n_e _p_o_k_e(_d_u_c_k) _c_o_s(_t_r_a_n_1._d_u_c_k) won't do the right thing. If you type plot all all, or otherwise use a wildcard refer- ence for one plot twice in a command, bad things will hap- pen. The asciiplot command doesn't deal with log scales or the delta keywords. There are probably some features that nutmeg doesn't have yet.CAVEATS Often the names of terminals recognised by MFB are different from those in /etc/termcap. Thus you may have to reset your terminal type with the command set term = termname where termname is the name in the mfbcap file. The hardcopy command is useless on VMS and other systems without the plot command, unless the user has a program that understands _p_l_o_t(_5) format. 19
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -