Script started on Wed Oct 21 18:40:22 2015 $ ssh -t ckurs@217.197.81.201   121 tmux attachclear The authenticity of host '217.197.81.121 (217.197.81.121)' can't be established. ECDSA key fingerprint is 40:8d:f7:28:6a:79:ae:10:bd:19:e0:47:2b:4c:63:9e. No matching host key fingerprint found in DNS. Are you sure you want to continue connecting (yes/no)? ex  now  Host key verification failed. $ exit Script done on Wed Oct 21 18:45:48 2015 Script started on Wed Oct 21 18:47:07 2015 $ ssh -t ckurs@217.197.81.121 tmux attach The authenticity of host '217.197.81.121 (217.197.81.121)' can't be established. ECDSA key fingerprint is 40:8d:f7:28:6a:79:ae:10:bd:19:e0:47:2b:4c:63:9e. No matching host key fingerprint found in DNS. Are you sure you want to continue connecting (yes/no)? n yes Warning: Permanently added '217.197.81.121' (ECDSA) to the list of known hosts. Password for ckurs@miso: $ # Passwort: kernighan&ritchie $ # ^ on bigen Beh fehl zur Anmeldung auf dem Kursrechner $ # Bitte nichts tippen!  $ sh sh -t ckus@217.197.81.2 121 tmux attach -r Password for ckus@miso: $ ^ l  # ^ liebe^Br da^D> $ #  clear $ who am i ckurs Oct 21 19:04 $ # ssh -t ckurs@217.197.81.121 tmux attacg  h -r $ ^C $ # Passwort: kernighan&ritchie $ ^[^[  ls transcripts $ mkdir src $ cd src $ pwd /usr/home/ckurs/src $ gedu it ; kate ; sublime ; emacs ; vim                             ed e hello.c hello.c: No such file or directory ? i ? h invalid address a #include int main() { printf("hello, world!\n"9 ); return 0; } . w 75 q $ ls -l total 1 -rw-rw-r-- 1 ckurs ckurs 75 Oct 21 19:14 hello.c $ intmain      main    main 8  ( ) 7  6 {           ct at hello.c #include int main() { printf("hello, world!\n"); return 0; } $ cc cc: error: no input files $ cc hello.c $ ls -l total 5 -rwxrwxr-x 1 ckurs ckurs 7379 Oct 21 19:20 a.out -rw-rw-r-- 1 ckurs ckurs 75 Oct 21 19:14 hello.c $ cc -o hello hello.c $ ls -l total 10 -rwxrwxr-x 1 ckurs ckurs 7379 Oct 21 19:20 a.out -rwxrwxr-x 1 ckurs ckurs 7379 Oct 21 19:21 hello -rw-rw-r-- 1 ckurs ckurs 75 Oct 21 19:14 hello.c $ pwd /usr/home/ckurs/src $ ./  ./hello^[[D^[[D^[[D          hello, world! $ cat   nl hello.c 1 #include 2 int main() 3 { 4 printf("hello, world!\n"); 5 return 0; 6 } $ $ ed hello.c 75 4c printf("hello, world!"); . ,n 1 #include 2 3 int main() 4 printf("hello, world!"); 5 printf("hello, world!\n"); 6 7 return 0; 8 } 5d ,n 1 #include 2 3 int main() 4 printf("hello, world!"); 5 6 return 0; 7 } w 71 !cc -o hello hello.c hello.c:4:2: error: expected function body after function declarator printf("hello, world!");  ^ hello.c:6:2: error: expected identifier or '(' return 0;  ^ hello.c:7:1: error: extraneous closing brace ('}') } ^ 3 errors generated. ! 3a [ { . ,n 1 #include 2 3 int main() 4 { 5 printf("hello, world!"); 6 7 return 0; 8 } !! cc -o hello hello.c hello.c:4:2: error: expected function body after function declarator printf("hello, world!");  ^ hello.c:6:2: error: expected identifier or '(' return 0;  ^ hello.c:7:1: error: extraneous closing brace ('}') } ^ 3 errors generated. ! , w 73 !! cc -o hello hello.c ! ,n 1 #include 2 3 int main() 4 { 5 printf("hello, world!"); 6 7 return 0; 8 } !.(/  /hello hello, world!! ^D$ ./hello hello, world!$ $ $ ed helo lo.c 73 5c printf("! j hello, world! "); . ,p #include int main() { printf("hello, world! "); return 0; } !! cc -o hello hello.c ! w 74 !! cc -o hello hello.c hello.c:5:9: warning: missing terminating '"' character [-Winvalid-pp-token] printf("hello, world!  ^ hello.c:5:9: error: expected expression hello.c:6:1: warning: missing terminating '"' character [-Winvalid-pp-token] "); ^ 2 warnings and 1 error generated. ! p ,nn  1 #include 2 3 int main() 4 { 5 printf("hello, world! 6 "); 7 8 return 0; 9 } 5,6cv  printf("hello, world!\n"); . w 75 q $ ls -l total 10 -rwxrwxr-x 1 ckurs ckurs 7379 Oct 21 19:20 a.out -rwxrwxr-x 1 ckurs ckurs 7371 Oct 21 19:33 hello -rw-rw-r-- 1 ckurs ckurs 75 Oct 21 19:34 hello.c $ $ ed  ed hello.c 75 ,n 1 #include 2 3 int main() 4 { 5 printf("hello, world!\n"); 6 7 return 0; 8 } 1i /* Ein einfaches C-Programm */ /* * Ein längeres Kommentar *( / ^[[D   // ein einzeiliges Kommentar          r Kommentar . ,n  4s/geres/geren/ 4p * Ein längeren Kommentar 4s/eren/erer/ p p * Ein längerer Kommentar w 171 ,n 1 /* Ein einfaches C-Programm */ 2 3 /* 4 * Ein längerer Kommentar 5 */ 6 7 // ein einzeiliger Kommentar 8 #include 9 10 int main() 11 { 12 printf("hello, world!\n"); 13 14 return 0; 15 } !cc -o hello hello.c ! !./hello hello, world! ! q $ man cc [?1h= CLANG(1) Clang Tools Documentation CLANG(1) NAME clang - the Clang C, C++, and Objective-C compiler SYNOPSIS clang [-c|-S|-E] -std=standard -g [-O0|-O1|-O2|-O3|-Ofast|-Os|-Oz|-O|-O4] -Wwarnings... -pedantic -Idir... -Ldir... -Dmacro[=defn] -ffeature-option... -mmachine-option... -o output-file -stdlib=library input-filenames DESCRIPTION clang is a C, C++, and Objective-C compiler which encompasses preprocessing, parsing, optimization, code generation, assembly, and linking. Depending on which high-level mode setting is passed, Clang will stop before doing a full link. While Clang is highly integrated, it is important to understand the stages of compilation, to understand how to invoke it. These stages are: Driver The clang executable is actually a small driver which controls the --More--(byte 1349)  overall execution of other tools such as the compiler, assembler and linker. Typically you do not need to interact with the driver, but you transparently use it to run the other tools. Preprocessing This stage handles tokenization of the input source file, macro expansion, #include expansion and handling of other preprocessor directives. The output of this stage is typically called a ".i" (for C), ".ii" (for C++), ".mi" (for Objective-C) , or ".mii" (for Objective-C++) file. Parsing and Semantic Analysis This stage parses the input file, translating preprocessor tokens into a parse tree. Once in the form of a parser tree, it applies semantic analysis to compute types for expressions as well and determine whether the code is well formed. This stage is responsible for generating most of the compiler warnings as well as parse errors. The output of this stage is an "Abstract Syntax Tree" (AST). Code Generation and Optimization This stage translates an AST into low-level intermediate code (known as "LLVM IR") and ultimately to machine code. This phase is responsible for optimizing the generated code and handling target- specific code generation. The output of this stage is typically called a ".s" file or "assembly" file. Clang also supports the use of an integrated assembler, in which the code generator produces object files directly. This avoids the --More--(byte 2970)  overhead of generating the ".s" file and of calling the target assembler. Assembler This stage runs the target assembler to translate the output of the compiler into a target object file. The output of this stage is typically called a ".o" file or "object" file. Linker This stage runs the target linker to merge multiple object files into an executable or dynamic library. The output of this stage is typically called an "a.out", ".dylib" or ".so" file. The Clang compiler supports a large number of options to control each of these stages. In addition to compilation of code, Clang also supports other tools: Clang Static Analyzer The Clang Static Analyzer is a tool that scans source code to try to find bugs through code analysis. This tool uses many parts of Clang and is built into the same driver. Please see for more details on how to use the static analyzer. OPTIONS Stage Selection Options -E Run the preprocessor stage. --More--(byte 4193)  -fsyntax-only Run the preprocessor, parser and type checking stages. -S Run the previous stages as well as LLVM generation and optimization stages and target-specific code generation, producing an assembly file. -c Run all of the above, plus the assembler, generating a target ".o" object file. no stage selection option If no stage selection option is specified, all stages above are run, and the linker is run to combine the results into an executable or shared library. Language Selection and Mode Options -x language Treat subsequent input files as having type language. -std=language Specify the language standard to compile for. -stdlib=library Specify the C++ standard library to use; supported options are libstdc++ and libc++. -ansi Same as -std=c89. --More--(byte 5324)  -ObjC++ Treat source input files as Objective-C++ inputs. -ObjC Treat source input files as Objective-C inputs. -trigraphs Enable trigraphs. -ffreestanding Indicate that the file should be compiled for a freestanding, not a hosted, environment. -fno-builtin Disable special handling and optimizations of builtin functions like strlen and malloc. -fmath-errno Indicate that math functions should be treated as updating errno. -fpascal-strings Enable support for Pascal-style strings with "\pfoo". -fms-extensions Enable support for Microsoft extensions. -fmsc-version= Set _MSC_VER. Defaults to 1300 on Windows. Not set otherwise. --More--(byte 6280)  -fborland-extensions Enable support for Borland extensions. -fwritable-strings Make all string literals default to writable. This disables uniquing of strings and other optimizations. -flax-vector-conversions Allow loose type checking rules for implicit vector conversions. -fblocks Enable the "Blocks" language feature. -fobjc-gc-only Indicate that Objective-C code should be compiled in GC-only mode, which only works when Objective-C Garbage Collection is enabled. -fobjc-gc Indicate that Objective-C code should be compiled in hybrid-GC mode, which works with both GC and non-GC mode. -fobjc-abi-version=version Select the Objective-C ABI version to use. Available versions are 1 (legacy "fragile" ABI), 2 (non-fragile ABI 1), and 3 (non-fragile ABI 2). -fobjc-nonfragile-abi-version=version Select the Objective-C non-fragile ABI version to use by default. This will only be used as the Objective-C ABI when the non-fragile --More--(byte 7637)  ABI is enabled (either via -fobjc-nonfragile-abi, or because it is the platform default). -fobjc-nonfragile-abi Enable use of the Objective-C non-fragile ABI. On platforms for which this is the default ABI, it can be disabled with -fno-objc-nonfragile-abi. Target Selection Options Clang fully supports cross compilation as an inherent part of its design. Depending on how your version of Clang is configured, it may have support for a number of cross compilers, or may only support a native target. -arch architecture Specify the architecture to build for. -mmacosx-version-min=version When building for Mac OS/X, specify the minimum version supported by your application. -miphoneos-version-min When building for iPhone OS, specify the minimum version supported by your application. -march=cpu Specify that Clang should generate code for a specific processor family member and later. For example, if you specify -march=i486, the compiler is allowed to generate instructions that are valid on --More--(byte 9040)  i486 and later processors, but which may not exist on earlier ones. Code Generation Options -O0 -O1 -O2 -O3 -Ofast -Os -Oz -O -O4 Specify which optimization level to use: -O0 Means "no optimization": this level compiles the fastest and generates the most debuggable code. -O1 Somewhere between -O0 and -O2. -O2 Moderate level of optimization which enables most optimizations. -O3 Like -O2, except that it enables optimizations that take longer to perform or that may generate larger code (in an attempt to make the program run faster). -Ofast Enables all the optimizations from -O3 along with other aggressive optimizations that may violate strict compliance with language standards. -Os Like -O2 with extra optimizations to reduce code size. -Oz Like -Os (and thus -O2), but reduces code size further. -O Equivalent to -O2. --More--(byte 10182)  -O4 and higher Currently equivalent to -O3 -g Generate debug information. Note that Clang debug information works best at -O0. At higher optimization levels, only line number information is currently available. -fexceptions Enable generation of unwind information, this allows exceptions to be thrown through Clang compiled stack frames. This is on by default in x86-64. -ftrapv Generate code to catch integer overflow errors. Signed integer overflow is undefined in C, with this flag, extra code is generated to detect this and abort when it happens. -fvisibility This flag sets the default visibility level. -fcommon This flag specifies that variables without initializers get common linkage. It can be disabled with -fno-common. -ftls-model Set the default thread-local storage (TLS) model to use for thread- local variables. Valid values are: "global-dynamic", "local- dynamic", "initial-exec" and "local-exec". The default is "global- dynamic". The default model can be overridden with the tls_model --More--(byte 11456)  attribute. The compiler will try to choose a more efficient model if possible. -flto -emit-llvm Generate output files in LLVM formats, suitable for link time optimization. When used with -S this generates LLVM intermediate language assembly files, otherwise this generates LLVM bitcode format object files (which may be passed to the linker depending on the stage selection options). Driver Options -### Print the commands to run for this compilation. --help Display available options. -Qunused-arguments Don't emit warning for unused driver arguments. -Wa,args Pass the comma separated arguments in args to the assembler. -Wl,args Pass the comma separated arguments in args to the linker. -Wp,args Pass the comma separated arguments in args to the preprocessor. --More--(byte 12519)  -Xanalyzer arg Pass arg to the static analyzer. -Xassembler arg Pass arg to the assembler. -Xlinker arg Pass arg to the linker. -Xpreprocessor arg Pass arg to the preprocessor. -o file Write output to file. -print-file-name=file Print the full library path of file. -print-libgcc-file-name Print the library path for "libgcc.a". -print-prog-name=name Print the full program path of name. -print-search-dirs Print the paths used for finding libraries and programs. -save-temps Save intermediate compilation results. --More--(byte 13507)  -integrated-as -no-integrated-as Used to enable and disable, respectively, the use of the integrated assembler. Whether the integrated assembler is on by default is target dependent. -time Time individual commands. -ftime-report Print timing summary of each stage of compilation. -v Show commands to run and use verbose output. Diagnostics Options -fshow-column -fshow-source-location -fcaret-diagnostics -fdiagnostics-fixit-info -fdiagnostics-parseable-fixits -fdiagnostics-print-source-range-info -fprint-source-range-info -fdiagnostics-show-option -fmessage-length These options control how Clang prints out information about diagnostics (errors and warnings). Please see the Clang User's Manual for more information. Preprocessor Options -Dmacroname=value Adds an implicit #define into the predefines buffer which is read before the source file is preprocessed. -Umacroname --More--(byte 15164)  Adds an implicit #undef into the predefines buffer which is read before the source file is preprocessed. -include filename Adds an implicit #include into the predefines buffer which is read before the source file is preprocessed. -Idirectory Add the specified directory to the search path for include files. -Fdirectory Add the specified directory to the search path for framework include files. -nostdinc Do not search the standard system directories or compiler builtin directories for include files. -nostdlibinc Do not search the standard system directories for include files, but do search compiler builtin include directories. -nobuiltininc Do not search clang's builtin directory for include files. ENVIRONMENT TMPDIR, TEMP, TMP These environment variables are checked, in order, for the location to write temporary files used during the compilation process. --More--(byte 16334)  CPATH If this environment variable is present, it is treated as a delimited list of paths to be added to the default system include path list. The delimiter is the platform dependent delimiter, as used in the PATH environment variable. Empty components in the environment variable are ignored. C_INCLUDE_PATH, OBJC_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJCPLUS_INCLUDE_PATH These environment variables specify additional paths, as for CPATH, which are only used when processing the appropriate language. MACOSX_DEPLOYMENT_TARGET If -mmacosx-version-min is unspecified, the default deployment target is read from this environment variable. This option only affects darwin targets. BUGS To report bugs, please visit . Most bug reports should include preprocessed source files (use the -E option) and the full output of the compiler, along with information to reproduce. SEE ALSO as(1), ld(1) AUTHOR Maintained by the Clang / LLVM Team (). --More--(byte 17664)  clang 3.4 2014-01-01 CLANG(1) [?1l>$ man gcc No manual entry for gcc $ man cc [?1h= CLANG(1) Clang Tools Documentation CLANG(1) NAME clang - the Clang C, C++, and Objective-C compiler SYNOPSIS clang [-c|-S|-E] -std=standard -g [-O0|-O1|-O2|-O3|-Ofast|-Os|-Oz|-O|-O4] -Wwarnings... -pedantic -Idir... -Ldir... -Dmacro[=defn] -ffeature-option... -mmachine-option... -o output-file -stdlib=library input-filenames DESCRIPTION clang is a C, C++, and Objective-C compiler which encompasses preprocessing, parsing, optimization, code generation, assembly, and linking. Depending on which high-level mode setting is passed, Clang will stop before doing a full link. While Clang is highly integrated, it is important to understand the stages of compilation, to understand how to invoke it. These stages are: Driver The clang executable is actually a small driver which controls the --More--(byte 1349) /  --oopp  overall execution of other tools such as the compiler, assembler and linker. Typically you do not need to interact with the driver, but you transparently use it to run the other tools. Preprocessing This stage handles tokenization of the input source file, macro expansion, #include expansion and handling of other preprocessor directives. The output of this stage is typically called a ".i" (for C), ".ii" (for C++), ".mi" (for Objective-C) , or ".mii" (for Objective-C++) file. Parsing and Semantic Analysis This stage parses the input file, translating preprocessor tokens into a parse tree. Once in the form of a parser tree, it applies semantic analysis to compute types for expressions as well and --More--(byte 2192) / ...skipping... -o file Write output to file. -print-file-name=file Print the full library path of file. -print-libgcc-file-name Print the library path for "libgcc.a". -print-prog-name=name Print the full program path of name. -print-search-dirs Print the paths used for finding libraries and programs. -save-temps Save intermediate compilation results. -integrated-as -no-integrated-as Used to enable and disable, respectively, the use of the integrated assembler. Whether the integrated assembler is on by default is target dependent. -time Time individual commands. -ftime-report Print timing summary of each stage of compilation. --More--(byte 13930) [?1l>$ man man [?1h= MAN(1) FreeBSD General Commands Manual MAN(1) NAME man -- display online manual documentation pages SYNOPSIS man [-adho] [-t | -w] [-M manpath] [-P pager] [-S mansect] [-m arch[:machine]] [-p [eprtv]] [mansect] page ... man -f keyword ... man -k keyword ... DESCRIPTION The man utility finds and displays online manual documentation pages. If mansect is provided, man restricts the search to the specific section of the manual. The sections of the manual are: 1. FreeBSD General Commands Manual 2. FreeBSD System Calls Manual 3. FreeBSD Library Functions Manual 4. FreeBSD Kernel Interfaces Manual 5. FreeBSD File Formats Manual 6. FreeBSD Games Manual 7. FreeBSD Miscellaneous Information Manual 8. FreeBSD System Manager's Manual 9. FreeBSD Kernel Developer's Manual Options that man understands: --More--(byte 1179) [?1l>$ caz  t hello.c /* Ein einfaches C-Programm */ /* * Ein längerer Kommentar */ // ein einzeiliger Kommentar #include int main() { printf("hello, world!\n"); return 0; } $ man printf [?1h= PRINTF(1) FreeBSD General Commands Manual PRINTF(1) NAME printf -- formatted output SYNOPSIS printf format [arguments ...] DESCRIPTION The printf utility formats and prints its arguments, after the first, under control of the format. The format is a character string which con- tains three types of objects: plain characters, which are simply copied to standard output, character escape sequences which are converted and copied to the standard output, and format specifications, each of which causes printing of the next successive argument. The arguments after the first are treated as strings if the corresponding format is either c, b or s; otherwise it is evaluated as a C constant, with the following extensions: o A leading plus or minus sign is allowed. o If the leading character is a single or double quote, the value is the character code of the next character. The format string is reused as often as necessary to satisfy the arguments. Any extra format specifications are evaluated with zero or the null string. Character escape sequences are in backslash notation as defined in the --More--(byte 1418) [?1l>$ man -3  s 4 3 printf Illegal option -s Usage: man [-adho] [-t | -w] [-M manpath] [-P pager] [-S mansect] [-m arch[:machine]] [-p [eprtv]] [mansect] page [...] man -f page [...] -- Emulates whatis(1) man -k page [...] -- Emulates apropos(1) $ man 3 printf [?1h= PRINTF(3) FreeBSD Library Functions Manual PRINTF(3) NAME printf, fprintf, sprintf, snprintf, asprintf, dprintf, vprintf, vfprintf, vsprintf, vsnprintf, vasprintf, vdprintf -- formatted output conversion LIBRARY Standard C Library (libc, -lc) SYNOPSIS #define _WITH_DPRINTF #include  int printf(const char * restrict format, ...); int fprintf(FILE * restrict stream, const char * restrict format, ...); int sprintf(char * restrict str, const char * restrict format, ...); int snprintf(char * restrict str, size_t size, const char * restrict format, ...); int asprintf(char **ret, const char *format, ...); --More--(byte 1510)  ESCESCOOBB  int --More--(byte 1525)  ESCESCOOBB  dprintf(int fd, const char * restrict format, ...); --More--(byte 1660)  ESCESCOOBB  --More--(byte 1661)  ESCESCOOBB  #include  --More--(byte 1722)  ESCESCOOBB  --More--(byte 1723)  ESCESCOOBB  int --More--(byte 1738)  ESCESCOOBB  vprintf(const char * restrict format, va_list ap); --More--(byte 1874)  ESCESCOOBB  --More--(byte 1875)  ESCESCOOBB  int --More--(byte 1890)  ESCESCOOBB  vfprintf(FILE * restrict stream, const char * restrict format, --More--(byte 2060)  ESCESCOOBB  va_list ap); --More--(byte 2093)  ESCESCOOBB  --More--(byte 2094)  ESCESCOOBB  int --More--(byte 2109)  ESCESCOOBB  vsprintf(char * restrict str, const char * restrict format, va_list ap); --More--(byte 2301)  ESCESCOOBB  --More--(byte 2302)  ESCESCOOBB  int --More--(byte 2317)  ESCESCOOBB  vsnprintf(char * restrict str, size_t size, const char * restrict format, --More--(byte 2514)  ESCESCOOBB  va_list ap); --More--(byte 2547)  ESCESCOOBB  --More--(byte 2548)  ESCESCOOBB  int --More--(byte 2563)  ESCESCOOBB  vasprintf(char **ret, const char *format, va_list ap); --More--(byte 2709)  ESCESCOOBB  --More--(byte 2710)  ESCESCOOBB  int --More--(byte 2725)  ESCESCOOBB  vdprintf(int fd, const char * restrict format, va_list ap); --More--(byte 2882)  ESCESCOOBB  --More--(byte 2883)  ESCESCOOBB DESCRIPTION --More--(byte 2917)  ESCESCOOBB  The printf() family of functions produces output according to a format as --More--(byte 3020)  ESCESCOOBB  described below. The printf() and vprintf() functions write output to --More--(byte 3122)  ESCESCOOBB  stdout, the standard output stream; fprintf() and vfprintf() write output --More--(byte 3231)  ESCESCOOBB  to the given output stream; dprintf() and vdprintf() write output to the --More--(byte 3351)  ESCESCOOBB  given file descriptor; sprintf(), snprintf(), vsprintf(), and vsnprintf() --More--(byte 3494)  ESCESCOOBB  write to the character string str; and asprintf() and vasprintf() dynami- --More--(byte 3613)  ESCESCOOBB  cally allocate a new string with malloc(3). --More--(byte 3662)  ESCESCOOBB  --More--(byte 3663)  ESCESCOOBB  These functions write the output under the control of a format string --More--(byte 3750)  ESCESCOOBB  that specifies how subsequent arguments (or arguments accessed via the --More--(byte 3826)  ESCESCOOBB  variable-length argument facilities of stdarg(3)) are converted for out- --More--(byte 3904)  ESCESCOOBB  put. --More--(byte 3914)  ESCESCOOBB  --More--(byte 3915)  ESCESCOOBB  The asprintf() and vasprintf() functions set *ret to be a pointer to a --More--(byte 4033)  ESCESCOOBB  buffer sufficiently large to hold the formatted string. This pointer --More--(byte 4108)  ESCESCOOBB  should be passed to free(3) to release the allocated storage when it is --More--(byte 4185)  ESCESCOOBB  no longer needed. If sufficient space cannot be allocated, asprintf() --More--(byte 4276)  ESCESCOOBB  and vasprintf() will return -1 and set ret to be a NULL pointer. --More--(byte 4370)  ESCESCOOBB  --More--(byte 4371)  ESCESCOOBB  The snprintf() and vsnprintf() functions will write at most size-1 of the --More--(byte 4492)  ESCESCOOBB  characters printed into the output string (the size'th character then --More--(byte 4575)  ESCESCOOBB  gets the terminating `\0'); if the return value is greater than or equal --More--(byte 4653) [?1l>$ man 1 printf       3 printf       2 sleep No manual entry for sleep $ man 3 sleep [?1h= SLEEP(3) FreeBSD Library Functions Manual SLEEP(3) NAME sleep -- suspend process execution for an interval measured in seconds LIBRARY Standard C Library (libc, -lc) SYNOPSIS #include  unsigned int sleep(unsigned int seconds); DESCRIPTION The sleep() function suspends execution of the calling process until either seconds seconds have elapsed or a signal is delivered to the process and its action is to invoke a signal-catching function or to ter- minate the process. System activity may lengthen the sleep by an inde- terminate amount. This function is implemented using nanosleep(2) by pausing for seconds seconds or until a signal occurs. Consequently, in this implementation, sleeping has no effect on the state of process timers, and there is no special handling for SIGALRM. RETURN VALUES If the sleep() function returns because the requested time has elapsed, the value returned will be zero. If the sleep() function returns due to --More--(byte 1310) [?1l>$ man 2 exec No manual entry for exec $ man    ^D Script done on Wed Oct 21 20:13:07 2015