brock@arden:~/csci235/notes/gdblab$ gcc lab00.c
lab00.c: In function ‘main’:
lab00.c:5:3: error: ‘for’ loop initial declarations are only allowed in C99 mode
   for (int i=0; i<argc; ++i) {
   ^
lab00.c:5:3: note: use option -std=c99 or -std=gnu99 to compile your code
brock@arden:~/csci235/notes/gdblab$ gcc -std=c99 lab00.c
brock@arden:~/csci235/notes/gdblab$ ./a.out
arg   0 is ./a.out
brock@arden:~/csci235/notes/gdblab$ ./a.out a b c 
arg   0 is ./a.out
arg   1 is a
arg   2 is b
arg   3 is c
brock@arden:~/csci235/notes/gdblab$ gcc -std=c99 -Wpedantic -g -Og -o lab00 lab00.c
brock@arden:~/csci235/notes/gdblab$ ./lab00
arg   0 is ./lab00
brock@arden:~/csci235/notes/gdblab$ ./lab00 do re mi
arg   0 is ./lab00
arg   1 is do
arg   2 is re
arg   3 is mi
brock@arden:~/csci235/notes/gdblab$ cut --fields=1 --delimiter=.
hello.c
hello.cpp
hello.java
brock@arden:~/csci235/notes/gdblab$ echo hello.c | cut --fields=1 --delimiter=.
function labc {
>     EXECFILE=`echo $1 | cut --fields=1 --delimiter=.`
>     echo RUNNING: gcc -std=c99 -Wpedantic -o $EXECFILE $1
>     gcc -std=c99 -Wpedantic -o $EXECFILE $1
> }
brock@arden:~/csci235/notes/gdblab$ labc lab00.c
RUNNING: gcc -std=c99 -Wpedantic -o lab00 lab00.c
brock@arden:~/csci235/notes/gdblab$ ./lab00
arg   0 is ./lab00
brock@arden:~/csci235/notes/gdblab$ echo ~/.profile
/home/brock/.profile
brock@arden:~/csci235/notes/gdblab$ cat ~/.porfile
cat: /home/brock/.porfile: No such file or directory
brock@arden:~/csci235/notes/gdblab$ cat ~/.profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
	. "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi
brock@arden:~/csci235/notes/gdblab$ echo $PATH
/home/brock/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
brock@arden:~/csci235/notes/gdblab$ which c235
/home/brock/bin/c235
brock@arden:~/csci235/notes/gdblab$ chmod a+x ~/bin/c235
brock@arden:~/csci235/notes/gdblab$ chmod a+x labc ~/bin/c235
chmod: cannot access ‘labc’: No such file or directory
brock@arden:~/csci235/notes/gdblab$ chmod a+x labc ~/bin/labc
chmod: cannot access ‘labc’: No such file or directory
brock@arden:~/csci235/notes/gdblab$ chmod a+x  ~/bin/labc
brock@arden:~/csci235/notes/gdblab$ ls -l ~/bin/labc
-rwxr-xr-x 1 brock users 159 Jan 29 10:16 /home/brock/bin/labc
brock@arden:~/csci235/notes/gdblab$ cat ~/bin/labc
#! /bin/bash 
EXECFILE=`echo $1 | cut --fields=1 --delimiter=.`
echo RUNNING: gcc -std=c99 -Wpedantic -o $EXECFILE $1
gcc -std=c99 -Wpedantic -o $EXECFILE $1

brock@arden:~/csci235/notes/gdblab$ which labc
/home/brock/bin/labc
brock@arden:~/csci235/notes/gdblab$ labc lab00
RUNNING: gcc -std=c99 -Wpedantic -o lab00 lab00
lab00: file not recognized: File truncated
collect2: error: ld returned 1 exit status
brock@arden:~/csci235/notes/gdblab$ labc lab00.c
RUNNING: gcc -std=c99 -Wpedantic -o lab00 lab00.c
brock@arden:~/csci235/notes/gdblab$ grep .c lab00.c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
  for (int i=0; i<argc; ++i) {
brock@arden:~/csci235/notes/gdblab$ echo lab00.c | grep .c
lab00.c
brock@arden:~/csci235/notes/gdblab$ echo $?
0
brock@arden:~/csci235/notes/gdblab$ echo lab00 | grep .c
brock@arden:~/csci235/notes/gdblab$ echo $?
1
brock@arden:~/csci235/notes/gdblab$ labc
RUNNING: gcc -std=c99 -Wpedantic -o
gcc: error: missing filename after ‘-o’
gcc: fatal error: no input files
compilation terminated.
brock@arden:~/csci235/notes/gdblab$ cat labc
cat: labc: No such file or directory
brock@arden:~/csci235/notes/gdblab$ labc
RUNNING: gcc -std=c99 -Wpedantic -o
gcc: error: missing filename after ‘-o’
gcc: fatal error: no input files
compilation terminated.
brock@arden:~/csci235/notes/gdblab$ labc
RUNNING: gcc -std=c99 -Wpedantic -o
gcc: error: missing filename after ‘-o’
gcc: fatal error: no input files
compilation terminated.
brock@arden:~/csci235/notes/gdblab$ cat labc
cat: labc: No such file or directory
brock@arden:~/csci235/notes/gdblab$ which labc
/home/brock/bin/labc
brock@arden:~/csci235/notes/gdblab$ labc foo
RUNNING: gcc -std=c99 -Wpedantic -o foo foo
gcc: error: foo: No such file or directory
gcc: fatal error: no input files
compilation terminated.
brock@arden:~/csci235/notes/gdblab$ labc lab00.c
RUNNING: gcc -std=c99 -Wpedantic -o lab00 lab00.c
brock@arden:~/csci235/notes/gdblab$ labc lab00.c
RUNNING: gcc -std=c99 -Wpedantic -o lab00 lab00.c
brock@arden:~/csci235/notes/gdblab$ labc 
RUNNING: gcc -std=c99 -Wpedantic -o
gcc: error: missing filename after ‘-o’
gcc: fatal error: no input files
compilation terminated.
brock@arden:~/csci235/notes/gdblab$ echo $#
0
brock@arden:~/csci235/notes/gdblab$ labc
RUNNING: gcc -std=c99 -Wpedantic -o
gcc: error: missing filename after ‘-o’
gcc: fatal error: no input files
compilation terminated.
brock@arden:~/csci235/notes/gdblab$ labc foo.c
RUNNING: gcc -std=c99 -Wpedantic -o foo foo.c
gcc: error: foo.c: No such file or directory
gcc: fatal error: no input files
compilation terminated.
brock@arden:~/csci235/notes/gdblab$ labc lab00.c
RUNNING: gcc -std=c99 -Wpedantic -o lab00 lab00.c
brock@arden:~/csci235/notes/gdblab$ [0 -eq 1]
[0: command not found
brock@arden:~/csci235/notes/gdblab$ [ 3 -eq 5 ]
brock@arden:~/csci235/notes/gdblab$ echo $$
19726
brock@arden:~/csci235/notes/gdblab$ [ 3 -eq 5 ]
brock@arden:~/csci235/notes/gdblab$ echo $?
1
brock@arden:~/csci235/notes/gdblab$ [ 3 -eq 5 ]
brock@arden:~/csci235/notes/gdblab$ echo $?
1
brock@arden:~/csci235/notes/gdblab$ [ 3 -eq 3 ]
brock@arden:~/csci235/notes/gdblab$ echo $?
0
brock@arden:~/csci235/notes/gdblab$ labc foo
RUNNING: gcc -std=c99 -Wpedantic -o foo foo
gcc: error: foo: No such file or directory
gcc: fatal error: no input files
compilation terminated.
brock@arden:~/csci235/notes/gdblab$ labc lab00.c
RUNNING: gcc -std=c99 -Wpedantic -o lab00 lab00.c
brock@arden:~/csci235/notes/gdblab$ labc
RUNNING: gcc -std=c99 -Wpedantic -o
gcc: error: missing filename after ‘-o’
gcc: fatal error: no input files
compilation terminated.
brock@arden:~/csci235/notes/gdblab$ echo $#
0
brock@arden:~/csci235/notes/gdblab$ rm ~/bin/bc
brock@arden:~/csci235/notes/gdblab$ chmod 755 ~/bin/numargs 
brock@arden:~/csci235/notes/gdblab$ numargs
0
You need an argument!
brock@arden:~/csci235/notes/gdblab$ labc
RUNNING: gcc -std=c99 -Wpedantic -o
gcc: error: missing filename after ‘-o’
gcc: fatal error: no input files
compilation terminated.
brock@arden:~/csci235/notes/gdblab$ which labc
/home/brock/bin/labc
brock@arden:~/csci235/notes/gdblab$ cat /home/brock/bin/labc
#! /bin/bash 
echo $#
if [ $# -ge 1 ]; then
   EXECFILE=`echo $1 | cut --fields=1 --delimiter=.`
   echo RUNNING: gcc -std=c99 -Wpedantic -o $EXECFILE $1
   gcc -std=c99 -Wpedantic -o $EXECFILE $1
else
   >&2 echo "You need an argument!"
fi

brock@arden:~/csci235/notes/gdblab$ chmod a+x ~/bin/nlabc 
brock@arden:~/csci235/notes/gdblab$ nlabc
0
You need an argument!
brock@arden:~/csci235/notes/gdblab$ which nlabc
/home/brock/bin/nlabc
brock@arden:~/csci235/notes/gdblab$ which labc
/home/brock/bin/labc
brock@arden:~/csci235/notes/gdblab$ diff /home/brock/bin/nlabc /home/brock/bin/labc
brock@arden:~/csci235/notes/gdblab$ labc
RUNNING: gcc -std=c99 -Wpedantic -o
gcc: error: missing filename after ‘-o’
gcc: fatal error: no input files
compilation terminated.
brock@arden:~/csci235/notes/gdblab$ 