calc 命令详解

| 选择喜欢的代码风格  


calc 命令安装:

-bash/zsh: calc command not found

apt-get install apcalc

apt-get install apcalc

#Arch Linux
pacman -S calc

#Kali Linux
apt-get install apcalc

dnf install calc

brew install calc

apt-get install apcalc

calc 命令补充说明:

calc 命令,是一个任意精度的计算器。

calc 命令语法:

calc [-c] [-C] [-d]
     [-D calc_debug[:resource_debug[:user_debug]]]
     [-e] [-h] [-i] [-m mode] [-O]
     [-p] [-q] [-s] [-u] [-v] [[--] calc_cmd ...]

#!/usr/local/bin/calc [other_flags ...] -f

calc 命令选项:


-c     Continue  reading  command  lines  even  after  a  scan/parse  error has caused the
      abandonment of a line.  Note that this option only deals with scanning and  parsing
      of the calc language.  It does not deal with execution or run-time errors.

      For example:

           calc read

      will cause calc to abort on the first syntax error, whereas:

           calc -c read

      will  cause  calc  to  try  to  process each line being read despite the scan/parse
      errors that it encounters.

      By default, calc startup resource files are silently ignored if  not  found.   This
      flag will report missing startup resource files unless -d is also given.

-C     Permit  the  execution of custom builtin functions.  Without this flag, calling the
      custom() builtin function will simply generate an error.

      Use of this flag may cause calc to execute functions that are non-standard and that
      are  not  portable.   Custom  builtin  functions  are  disabled by default for this

-d     Disable the printing of the opening title.  The printing of resource file debug and
      informational  messages is also disabled as if config("resource_debug", 0) had been

      For example:

           calc "read qtime> qtime(2)"

      will output something like:

           qtime(utc_hr_offset) defined
           It's nearly ten past six.


           calc -d "read qtime> qtime(2)"

      will just say:

           It's nearly ten past six.

      This flag disables the reporting of missing calc startup resource files.

-D calc_debug[:resource_debug[:user_debug]]
      Force the  initial  value  of  config("calc_debug"),  config("resource_debug")  and

      The  :  separated  strings  are  interpreted  as  signed 32 bit integers.  After an
      optional leading sign a leading zero indicates  octal  conversion,  and  a  leading
      ``0x'' or ``0X'' hexadecimal conversion.  Otherwise, decimal conversion is assumed.

      By default, calc_debug is 0, resource_debug is 3 and user_debug is 0.

      For more information use the following calc command:

           help config

-e     Ignore  any  environment  variables  on  startup.   The getenv() builtin will still
      return values, however.

-f     This flag is required when using calc in shell script mode.  It must be at the  end
      of the initial #!  line of the script.

      This flag is normally only at the end of a calc shell script.  If the first line of
      an executable file begins #!  followed by the absolute pathname of the calc program
      and the flag -f as in:

           #!/usr/bin/calc [other_flags ...] -f

      the rest of the file will be processed in shell script mode.  See SHELL SCRIPT MODE
      section of this man page below for details.

      The actual form of this flag is:

           -f filename

      On systems that treat an executable that begins with #!  as a script, the  path  of
      the executable is appended by the kernel as the final argument to the exec() system
      call.  This is why the -f flag at the very end of the #!  line.

      It is possible use -f filename on the command line:

           calc [other_flags ...] -f filename

      This will cause calc to process lines in filename in shell script mode.

      Use of -f implies -s.  In addition, -d and -p are implied if -i is not given.

-h     Print a help message.  This option implies -q.  This  is  equivalent  to  the  calc
      command  help  help.  The help facility is disabled unless the mode is 5 or 7.  See

-i     Become interactive if possible.  This flag will cause calc to drop into interactive
      mode  after the calc_cmd arguments on the command line are evaluated.  Without this
      flag, calc will exit after they are evaluated.

      For example:

           calc 2+5

      will print the value 7 and exit whereas:

           calc -i 2+5

      will print the value 7 and prompt the user for more calc commands.

-m mode
      This flag sets the permission mode of calc.  It controls the ability  for  calc  to
      open files and execute programs.  Mode may be a number from 0 to 7.

      The mode value is interpreted in a way similar to that of the chmod(1) octal mode:

           0  do not open any file, do not execute progs
           1  do not open any file
           2  do not open files for reading, do not execute progs
           3  do not open files for reading
           4  do not open files for writing, do not execute progs
           5  do not open files for writing
           6  do not execute any program
           7  allow everything (default mode)

      If  one wished to run calc from a privileged user, one might want to use -m 0 in an
      effort to make calc somewhat more secure.

      Mode bits for reading and writing apply only on an open.  Files  already  open  are
      not  effected.   Thus  if  one  wanted  to  use  the -m 0 in an effort to make calc
      somewhat more secure, but still wanted to read and write a specific file, one might
      want to do in sh(1), ksh(1), bash(1)-like shells:

           calc -m 0 3<>a.file

      Files  presented  to  calc  in  this  way are opened in an unknown mode.  Calc will
      attempt to read or write them if directed.

      If the mode disables opening of files for reading, then the startup resource  files
      are disabled as if -q was given.  The reading of key bindings is also disabled when
      the mode disables opening of files for reading.

-O     Use the old classic defaults instead of the default configuration.   This  flag  as
      the same effect as executing config("all", "oldcfg") at startup time.

      NOTE:  Older  versions of calc used -n to setup a modified form of the default calc
      configuration.  The -n flag currently does nothing.  Use of  the  -n  flag  is  now
      deprecated and may be used for something else in the future.

-p     Pipe processing is enabled by use of -p.  For example:

           calc -p "2^21701-1" | fizzbin

      In  pipe mode, calc does not prompt, does not print leading tabs and does not print
      the initial header.  The -p flag overrides -i.

-q     Disable the reading of the startup scripts.

-s     By default, all calc_cmd args are evaluated and executed.  This flag  will  disable
      their  evaluation and instead make them available as strings for the argv() builtin

-u     Disable buffering of stdin and stdout.

-v     Print the calc version number and exit.

--     The double dash indicates to calc that no more  options  follow.   Thus  calc  will
      ignore a later argument on the command line even if it starts with a dash.  This is
      useful when entering negative values on the command line as in:

calc -p -- -1 - -7

calc 命令实例:

以交互方式启动 calc:


calc 在非交互模式下执行计算:

calc -p '85 * (36 / 4)'

calc 命令扩展阅读:

calc 命令评论