sbs5@hornet:~/cs200/www/lectures$ date Wed Nov 20 02:26:00 PM EST 2024 sbs5@hornet:~/cs200/www/lectures$ pwd /home/accts/sbs5/cs200/www/lectures sbs5@hornet:~/cs200/www/lectures$ echo $USER sbs5 sbs5@hornet:~/cs200/www/lectures$ echo $SHELL /bin/bash sbs5@hornet:~/cs200/www/lectures$ echo SHELL SHELL sbs5@hornet:~/cs200/www/lectures$ echo $PATH /usr/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/accts/sbs5/.dotnet/tools:/usr/local/python3.4/bin sbs5@hornet:~/cs200/www/lectures$ which ls /usr/bin/ls sbs5@hornet:~/cs200/www/lectures$ alias me=Stephen sbs5@hornet:~/cs200/www/lectures$ echo me me sbs5@hornet:~/cs200/www/lectures$ alias me=whoami sbs5@hornet:~/cs200/www/lectures$ me sbs5 sbs5@hornet:~/cs200/www/lectures$ cat ~/.bashrc # echo "This is .bashrc." # who alias ll="ls -l" alias la="ls -al" alias rm="rm -i" alias p=python3 alias p34=python3.4 alias mroe=more alias emcs=emacs alias sbcl=~/bin/sbcl alias lisp=sbcl # why are they the same? alias encode="tr 'A-Za-z' 'N-ZA-Mn-za-m'" alias decode="tr 'A-Za-z' 'N-ZA-Mn-za-m'" alias ens="enscript -2 -r -G" alias ens1="enscript -1 -r -G" alias idlenodes="printf '%15s : %s\n' \$(tail -q -n 1 /home/usage/*.csv |cut -d, -f 2,7 |tr ',' ' ' |sort -n -k 2 |grep -v gari |head -n 15)" alias bestnode="printf 'ssh `whoami`@%s.cs.yale.edu\n' \$(tail -q -n 1 /home/usage/*.csv |cut -d, -f 2,7 |tr ',' ' ' |sort -n -k 2 |grep -v gari |head -n 1 | tr -sc a-zA-Z '\n') " alias busynodes="printf '%15s : %s\n' \$(tail -q -n 1 /home/usage/*.csv |cut -d, -f 2,7 |tr ',' ' ' |sort -r -n -k 2 |grep -v gari |head -n 15)" EDITOR=emacs export EDITOR PRINTER=lj1 export PRINTER # >>> conda initialize >>> # !! Contents within this block are managed by 'conda init' !! __conda_setup="$('/usr/bin/conda' 'shell.bash' 'hook' 2> /dev/null)" if [ $? -eq 0 ]; then eval "$__conda_setup" else if [ -f "/usr/etc/profile.d/conda.sh" ]; then . "/usr/etc/profile.d/conda.sh" else export PATH="/usr/bin:$PATH" fi fi unset __conda_setup # <<< conda initialize <<< sbs5@hornet:~/cs200/www/lectures$ type ls ls is /usr/bin/ls sbs5@hornet:~/cs200/www/lectures$ cd today sbs5@hornet:~/cs200/www/lectures/today$ ls ? abc abc2 lsout lsout2 lsout.bak wc.error wcout sbs5@hornet:~/cs200/www/lectures/today$ type ls ls is hashed (/usr/bin/ls) sbs5@hornet:~/cs200/www/lectures/today$ type file file is /usr/bin/file sbs5@hornet:~/cs200/www/lectures/today$ file .. ..: setgid, directory sbs5@hornet:~/cs200/www/lectures/today$ type file file is hashed (/usr/bin/file) sbs5@hornet:~/cs200/www/lectures/today$ type cd cd is a shell builtin sbs5@hornet:~/cs200/www/lectures/today$ type type type is a shell builtin sbs5@hornet:~/cs200/www/lectures/today$ apropos python 2to3-2.7 (1) - Python2 to Python3 converter activate-global-python-ar... (1) - activate-global-pyt... activate-global-python-ar... (1) - activate-global-pyt... add2virtualenv (1) - a set of wrappers to assist wit... allvirtualenv (1) - a set of wrappers to assist wit... black (1) - uncompromising Python code form... cdproject (1) - a set of wrappers to assist wit... cdsitepackages (1) - a set of wrappers to assist wit... cdvirtualenv (1) - a set of wrappers to assist wit... cpvirtualenv (1) - a set of wrappers to assist wit... cysignals-CSI (1) - debugger information extractor ... deactivate (1) - a set of wrappers to assist wit... dh_python2 (1) - calculates Python dependencies,... dh_python3 (1) - calculates Python dependencies,... dh_python3-ply (1) - generate versioned dependencies... fail2ban-python (1) - a helper for Fail2Ban to assure... ipython3 (1) - Tools for Interactive Computing... jupyter-migrate (1) - Migrate configuration and data ... keyring (1) - Python-Keyring command-line uti... logilab-pytest (1) - run python unit tests lssitepackages (1) - a set of wrappers to assist wit... lsvirtualenv (1) - a set of wrappers to assist wit... mkproject (1) - a set of wrappers to assist wit... mktmpenv (1) - a set of wrappers to assist wit... mkvirtualenv (1) - a set of wrappers to assist wit... netaddr (1) - interactive shell for netaddr P... nosetests3 (1) - Nicer testing for Python pdb2 (1) - the Python debugger pdb2.7 (1) - the Python debugger pdb3 (1) - the Python debugger pdb3.10 (1) - the Python debugger perf-script-python (1) - Process trace data with a Pyt... pip (1) - A tool for installing and manag... pip3 (1) - A tool for installing and manag... py3compile (1) - byte compile Python 3 source files py3versions (1) - print python3 version information pybuild (1) - invokes various build systems f... pycompile (1) - byte compile Python source files pydoc2 (1) - the Python documentation tool pydoc2.7 (1) - the Python documentation tool pydoc3 (1) - the Python documentation tool pydoc3.10 (1) - the Python documentation tool pyflakes3 (1) - simple Python 3 source checker pygettext2 (1) - Python equivalent of xgettext(1) pygettext2.7 (1) - Python equivalent of xgettext(1) pygettext3 (1) - Python equivalent of xgettext(1) pygettext3.10 (1) - Python equivalent of xgettext(1) pyls (1) - Python Language Server pylsp (1) - Python Language Server pypy (1) - fast, compliant alternative imp... pypy3 (1) - fast, compliant alternative imp... python2.7 (1) - an interpreted, interactive, ob... python-argcomplete-check-... (1) - python-argcomplete-... python-argcomplete-check-... (1) - python-argcomplete-... python3.10-config (1) - output build options for pytho... python3-coverage (1) - measure code coverage of Python... python2 (1) - an interpreted, interactive, ob... python3 (1) - an interpreted, interactive, ob... python3-config (1) - output build options for python... python3.10 (1) - an interpreted, interactive, ob... python3.10-coverage (1) - measure code coverage of Pyt... pythran (1) - part of pythran: ahead of time ... pythran-config (1) - part of pythran: ahead of time ... pyversions (1) - print python version information register-python-argcomplete (1) - register-python-argc... register-python-argcomplete3 (1) - register-python-arg... rmvirtualenv (1) - a set of wrappers to assist wit... rstpep2html (1) - convert reST Python Enhancement... setvirtualenvproject (1) - a set of wrappers to assist... showvirtualenv (1) - a set of wrappers to assist wit... toggleglobalsitepackages (1) - a set of wrappers to as... tox-quickstart (1) - generate a tox config file for ... tqdm (1) - fast, extensible progress bar f... virtualenv (1) - Python virtual environment creator virtualenvwrapper (1) - a set of wrappers to assist wi... wipeenv (1) - a set of wrappers to assist wit... workon (1) - a set of wrappers to assist wit... x86_64-linux-gnu-python3-... (1) - output build option... x86_64-linux-gnu-python3.... (1) - output build option... sbs5@hornet:~/cs200/www/lectures/today$ apropos java Log::Log4perl::JavaMap::S... (3pm) - wraps Log::Dispat... ant (1) - a Java based make tool. arm-none-eabi-c++filt (1) - demangle C++ and Java symbols c++filt (1) - demangle C++ and Java symbols DateTime::Locale::jv (3pm) - Locale data examples for ... DateTime::Locale::jv_ID (3pm) - Locale data examples f... jar (1) - Manipulates Java Archive (JAR) ... jarsigner (1) - Signs and verifies Java Archive... java (1) - Launches a Java application. java-wrappers (7) - capacities shared by java wrapp... javac (1) - Reads Java class and interface ... javadoc (1) - Generates HTML pages of API doc... javap (1) - Disassembles one or more class ... javasun (1sr) - surfraw(1) search tools jcmd (1) - Sends diagnostic command reques... jconsole (1) - Starts a graphical console that... jdb (1) - Finds and fixes bugs in Java pl... jdeps (1) - Java class dependency analyzer. jhsdb (1) - attach to a Java process or lau... jpackage (1) - tool for packaging self-contain... jps (1) - Lists the instrumented Java Vir... js (1) - server-side JavaScript runtime js-yaml (1) - JavaScript YAML parser and dumper jshell (1) - interactively evaluate declarat... JSON (3pm) - JSON (JavaScript Object Notatio... jstack (1) - Prints Java thread stack traces... jstat (1) - Monitors Java Virtual Machine (... jstatd (1) - Monitors Java Virtual Machines ... Lintian::Index::Java (3) - java information. Log::Log4perl::JavaMap (3pm) - maps java log4j appende... Log::Log4perl::JavaMap::C... (3pm) - wraps Log::Dispat... Log::Log4perl::JavaMap::F... (3pm) - wraps Log::Dispat... Log::Log4perl::JavaMap::J... (3pm) - wraps Log::Log4pe... Log::Log4perl::JavaMap::N... (3pm) - wraps Log::Dispat... Log::Log4perl::JavaMap::R... (3pm) - wraps Log::Dispat... Log::Log4perl::JavaMap::T... (3pm) - wraps Log::Log4pe... node (1) - server-side JavaScript runtime nodejs (1) - server-side JavaScript runtime npm (1) - javascript package manager pacote (1) - The JavaScript Package Handler rmic (1) - Generates stub, skeleton, and t... rmid (1) - Starts the activation system da... update-java-alternatives (8) - update alternatives for... x86_64-linux-gnu-c++filt (1) - demangle C++ and Java s... sbs5@hornet:~/cs200/www/lectures/today$ apropos printer CamlinternalMenhirLib.Pri... (3o) - no description CamlinternalMenhirLib.Pri... (3o) - no description cups-browsed (8) - A daemon for browsing the Bonjo... cups-lpd (8) - receive print jobs and report p... cupsdisable (8) - stop/start printers and classes cupsenable (8) - stop/start printers and classes dvilj (1) - convert a TeX DVI file to PCL, ... dvilj2p (1) - convert a TeX DVI file to PCL, ... dvilj4 (1) - convert a TeX DVI file to PCL, ... dvilj4l (1) - convert a TeX DVI file to PCL, ... dvilj6 (1) - convert a TeX DVI file to PCL, ... foo2ddst (1) - Convert Ghostscript pbmraw into... foo2ddst-wrapper (1) - Convert Postscript into a DDST ... foo2hbpl2 (1) - Convert Ghostscript pbmraw or b... foo2hbpl2-wrapper (1) - Convert Postscript into a ZJS ... foo2hiperc (1) - Convert Ghostscript pbmraw or b... foo2hiperc-wrapper (1) - Convert Postscript into a HIP... foo2hp (1) - Convert Ghostscript pbmraw or b... foo2hp2600-wrapper (1) - Convert Postscript into a ZJS... foo2lava (1) - Convert Ghostscript pbmraw or b... foo2lava-wrapper (1) - Convert Postscript into a LAVAF... foo2oak (1) - Convert Ghostscript pbmraw, pgm... foo2oak-wrapper (1) - Convert Postscript into an OAKT... foo2qpdl (1) - Convert Ghostscript pbmraw or b... foo2qpdl-wrapper (1) - Convert Postscript into a QPDL ... foo2slx (1) - Convert Ghostscript pbmraw or b... foo2slx-wrapper (1) - Convert Postscript into a SLX p... foo2xqx (1) - Convert Ghostscript pbmraw into... foo2xqx-wrapper (1) - Convert Postscript into a XQX p... foo2zjs (1) - Convert Ghostscript pbmraw or b... foo2zjs-wrapper (1) - Convert Postscript into a ZJS p... gsbj (1) - Format and print text for Bubbl... gsdj (1) - Format and print text for DeskJ... gslj (1) - Format and print text for Laser... hp-align (1) - Printer Cartridge Alignment Uti... hp-clean (1) - Printer Printhead Cleaning Utility hp-colorcal (1) - Printer Cartridge Color Calibra... hp-config_usb_printer (1) - HP device config using USB hp-probe (1) - Printer Discovery Utility hp-setup (1) - Printer/Fax Setup Utility ipp-usb (8) - Daemon for IPP over USB printer... ippeveprinter (1) - an ipp everywhere printer appli... ippfind (1) - find internet printing protocol... lp (4) - line printer devices lpadmin (8) - configure cups printers and cla... lpc (8) - line printer control program (d... lpoptions (1) - display or set printer options ... lpq (1) - show printer queue status oakdecode (1) - Decode an OAKT printer stream i... pbmto10x (1) - convert a portable bitmap into ... pbmtoepson (1) - convert a portable bitmap into ... pbmtoppa (1) - convert PBM image to HP Printer... pbmtoptx (1) - convert a portable bitmap into ... pnm2ppa (1) - convert portable anymap (PNM) i... Pprintast (3o) - Pretty-printers for Parsetree Printast (3o) - Raw printer for Parsetree printer-profile (1) - Profile using X-Rite ColorMunki... printers.conf (5) - printer configuration file for ... sane-kodakaio (5) - SANE backend for Kodak aio prin... sane-pixma (5) - SANE backend for Canon Multi-Fu... svgpp (1) - pretty-printer for SVG files system-config-printer (1) - configure a CUPS server system-config-printer-applet (1) - print job manager tex2mail (1) - TeX to ascii math prettyprinter thinkjettopbm (1) - convert HP ThinkJet printer com... usb_printerid (1) - prints the ID of the printer on... sbs5@hornet:~/cs200/www/lectures/today$ echo $RANDOM 3063 sbs5@hornet:~/cs200/www/lectures/today$ echo $RANDOM 21960 sbs5@hornet:~/cs200/www/lectures/today$ echo $RANDOM 3276 sbs5@hornet:~/cs200/www/lectures/today$ echo $RANDOM 26725 sbs5@hornet:~/cs200/www/lectures/today$ echo $UID 10379474 sbs5@hornet:~/cs200/www/lectures/today$ id uid=10379474(sbs5) gid=10379474(sbs5) groups=10379474(sbs5),32217(cs257ta),35557(faculty),49258(cs458ta),63505(cs201ta),63524(cs470ta),63533(cs200ta) sbs5@hornet:~/cs200/www/lectures/today$ TODAY=Wednesday sbs5@hornet:~/cs200/www/lectures/today$ echo $TODAY Wednesday sbs5@hornet:~/cs200/www/lectures/today$ TODAY=$(date) sbs5@hornet:~/cs200/www/lectures/today$ echo $TODAY Wed Nov 20 03:31:18 PM EST 2024 sbs5@hornet:~/cs200/www/lectures/today$ echo $TODAY Wed Nov 20 03:31:18 PM EST 2024 sbs5@hornet:~/cs200/www/lectures/today$ TODAY=`date` sbs5@hornet:~/cs200/www/lectures/today$ echo $TODAY Wed Nov 20 03:31:58 PM EST 2024 sbs5@hornet:~/cs200/www/lectures/today$ unset TODAY sbs5@hornet:~/cs200/www/lectures/today$ echo $TODAY sbs5@hornet:~/cs200/www/lectures/today$ R=$RANDOM sbs5@hornet:~/cs200/www/lectures/today$ echo $R 22397 sbs5@hornet:~/cs200/www/lectures/today$ echo $((R%10)) 7 sbs5@hornet:~/cs200/www/lectures/today$ echo $[R%10] 7 sbs5@hornet:~/cs200/www/lectures/today$ echo $[R+10] 22407 sbs5@hornet:~/cs200/www/lectures/today$ echo $[R-10] 22387 sbs5@hornet:~/cs200/www/lectures/today$ cd .. sbs5@hornet:~/cs200/www/lectures$ cd sh sbs5@hornet:~/cs200/www/lectures/sh$ ls py0 py16 py5 script2 sh8 py1 py17 py6 sh1 sleep.txt py10 py17.py py7 sh2 user_data.xml py11 py17.pyc py8 sh3 user.info py12 py18 py9 sh4 users.info py13 py2 __pycache__ sh5 py14 py3 racket.sh sh6 py15 py4 script sh7 sbs5@hornet:~/cs200/www/lectures/sh$ cat script date last | grep $USER | tail sbs5@hornet:~/cs200/www/lectures/sh$ source script bash: source: /usr/bin/script: cannot execute binary file sbs5@hornet:~/cs200/www/lectures/sh$ which script /usr/bin/script sbs5@hornet:~/cs200/www/lectures/sh$ which ./script ./script sbs5@hornet:~/cs200/www/lectures/sh$ source ./script Wed Nov 20 03:36:16 PM EST 2024 sbs5 pts/0 10.66.112.45 Wed Nov 20 14:25 still logged in sbs5 pts/1 10.66.3.39 Tue Nov 19 15:13 - 16:03 (00:50) sbs5 pts/0 10.66.185.23 Mon Nov 18 10:24 - 11:24 (00:59) sbs5 pts/0 10.66.185.23 Wed Nov 13 14:37 - 15:39 (01:01) sbs5 pts/1 10.66.185.23 Mon Nov 4 14:29 - 15:45 (01:16) sbs5 pts/1 10.66.185.23 Fri Nov 1 10:25 - 11:26 (01:01) sbs5@hornet:~/cs200/www/lectures/sh$ cat script date last | grep $USER | tail sbs5@hornet:~/cs200/www/lectures/sh$ source ./script Wed Nov 20 03:37:06 PM EST 2024 sbs5 pts/0 10.66.112.45 Wed Nov 20 14:25 still logged in sbs5 pts/1 10.66.3.39 Tue Nov 19 15:13 - 16:03 (00:50) sbs5 pts/0 10.66.185.23 Mon Nov 18 10:24 - 11:24 (00:59) sbs5 pts/0 10.66.185.23 Wed Nov 13 14:37 - 15:39 (01:01) sbs5 pts/1 10.66.185.23 Mon Nov 4 14:29 - 15:45 (01:16) sbs5 pts/1 10.66.185.23 Fri Nov 1 10:25 - 11:26 (01:01) sbs5@hornet:~/cs200/www/lectures/sh$ . ./script Wed Nov 20 03:37:16 PM EST 2024 sbs5 pts/0 10.66.112.45 Wed Nov 20 14:25 still logged in sbs5 pts/1 10.66.3.39 Tue Nov 19 15:13 - 16:03 (00:50) sbs5 pts/0 10.66.185.23 Mon Nov 18 10:24 - 11:24 (00:59) sbs5 pts/0 10.66.185.23 Wed Nov 13 14:37 - 15:39 (01:01) sbs5 pts/1 10.66.185.23 Mon Nov 4 14:29 - 15:45 (01:16) sbs5 pts/1 10.66.185.23 Fri Nov 1 10:25 - 11:26 (01:01) sbs5@hornet:~/cs200/www/lectures/sh$ type . . is a shell builtin sbs5@hornet:~/cs200/www/lectures/sh$ ll total 124 -rwxrwxr-x 1 sbs5 cs200ta 63 Feb 24 2017 py0 -rwxrwxr-x 1 sbs5 cs200ta 126 Feb 28 2017 py1 -rwxr-xr-x 1 sbs5 cs200ta 419 May 3 2021 py10 -rwxr-xr-x 1 sbs5 cs200ta 188 Nov 30 2020 py11 -rwxr-xr-x 1 sbs5 cs200ta 1275 Nov 30 2020 py12 -rwxr-xr-x 1 sbs5 cs200ta 633 Feb 28 2017 py13 -rwxr-xr-x 1 sbs5 cs200ta 1685 Nov 30 2020 py14 -rwxr-xr-x 1 sbs5 cs200ta 482 Mar 2 2017 py15 -rwxr-xr-x 1 sbs5 cs200ta 528 Mar 2 2017 py16 -rwxr-xr-x 1 sbs5 cs200ta 677 Mar 2 2017 py17 -rwxr-xr-x 1 sbs5 cs200ta 726 Mar 6 2017 py17.py -rw-r--r-- 1 sbs5 cs200ta 1263 Mar 6 2017 py17.pyc -rwxr-xr-x 1 sbs5 cs200ta 82 Mar 2 2017 py18 -rwxr-xr-x 1 sbs5 cs200ta 109 Nov 30 2020 py2 -rwxr-xr-x 1 sbs5 cs200ta 175 Nov 30 2020 py3 -rwxr-xr-x 1 sbs5 cs200ta 325 Nov 30 2020 py4 -rwxr-xr-x 1 sbs5 cs200ta 502 Nov 30 2020 py5 -rwxr-xr-x 1 sbs5 cs200ta 746 May 3 2021 py6 -rwxr-xr-x 1 sbs5 cs200ta 253 May 3 2021 py7 -rwxr-xr-x 1 sbs5 cs200ta 174 Nov 30 2020 py8 -rwxr-xr-x 1 sbs5 cs200ta 439 May 3 2021 py9 drwxrwsr-x 2 sbs5 cs200ta 4096 Mar 6 2017 __pycache__ -rwxr-xr-x 1 sbs5 sbs5 43 Feb 24 2017 racket.sh -rwxr-xr-x 1 sbs5 cs200ta 30 Feb 24 2017 script -rwxr-xr-x 1 sbs5 cs200ta 12 Nov 30 2020 script2 -rwxr-xr-x 1 sbs5 sbs5 70 Feb 24 2017 sh1 -rwxr-xr-x 1 sbs5 sbs5 237 Apr 19 2019 sh2 -rwxr-xr-x 1 sbs5 sbs5 186 Feb 24 2017 sh3 -rwxr-xr-x 1 sbs5 sbs5 117 Mar 3 2017 sh4 -rwxr-xr-x 1 sbs5 sbs5 175 Apr 18 2018 sh5 -rwxr-xr-x 1 sbs5 sbs5 200 Feb 24 2017 sh6 -rwxr-xr-x 1 sbs5 sbs5 160 Feb 24 2017 sh7 -rwxr-xr-x 1 sbs5 sbs5 148 Feb 24 2017 sh8 -rwxr-xr-x 1 sbs5 sbs5 112 Dec 21 2018 sleep.txt -rw-rw-r-- 1 sbs5 cs200ta 142 Mar 2 2017 user_data.xml -rw-rw-r-- 1 sbs5 cs200ta 15 Mar 6 2017 user.info -rw-rw-r-- 1 sbs5 cs200ta 49 Mar 6 2017 users.info sbs5@hornet:~/cs200/www/lectures/sh$ ./script Wed Nov 20 03:38:16 PM EST 2024 sbs5 pts/0 10.66.112.45 Wed Nov 20 14:25 still logged in sbs5 pts/1 10.66.3.39 Tue Nov 19 15:13 - 16:03 (00:50) sbs5 pts/0 10.66.185.23 Mon Nov 18 10:24 - 11:24 (00:59) sbs5 pts/0 10.66.185.23 Wed Nov 13 14:37 - 15:39 (01:01) sbs5 pts/1 10.66.185.23 Mon Nov 4 14:29 - 15:45 (01:16) sbs5 pts/1 10.66.185.23 Fri Nov 1 10:25 - 11:26 (01:01) sbs5@hornet:~/cs200/www/lectures/sh$ chmod 644 ./script sbs5@hornet:~/cs200/www/lectures/sh$ ll total 124 -rwxrwxr-x 1 sbs5 cs200ta 63 Feb 24 2017 py0 -rwxrwxr-x 1 sbs5 cs200ta 126 Feb 28 2017 py1 -rwxr-xr-x 1 sbs5 cs200ta 419 May 3 2021 py10 -rwxr-xr-x 1 sbs5 cs200ta 188 Nov 30 2020 py11 -rwxr-xr-x 1 sbs5 cs200ta 1275 Nov 30 2020 py12 -rwxr-xr-x 1 sbs5 cs200ta 633 Feb 28 2017 py13 -rwxr-xr-x 1 sbs5 cs200ta 1685 Nov 30 2020 py14 -rwxr-xr-x 1 sbs5 cs200ta 482 Mar 2 2017 py15 -rwxr-xr-x 1 sbs5 cs200ta 528 Mar 2 2017 py16 -rwxr-xr-x 1 sbs5 cs200ta 677 Mar 2 2017 py17 -rwxr-xr-x 1 sbs5 cs200ta 726 Mar 6 2017 py17.py -rw-r--r-- 1 sbs5 cs200ta 1263 Mar 6 2017 py17.pyc -rwxr-xr-x 1 sbs5 cs200ta 82 Mar 2 2017 py18 -rwxr-xr-x 1 sbs5 cs200ta 109 Nov 30 2020 py2 -rwxr-xr-x 1 sbs5 cs200ta 175 Nov 30 2020 py3 -rwxr-xr-x 1 sbs5 cs200ta 325 Nov 30 2020 py4 -rwxr-xr-x 1 sbs5 cs200ta 502 Nov 30 2020 py5 -rwxr-xr-x 1 sbs5 cs200ta 746 May 3 2021 py6 -rwxr-xr-x 1 sbs5 cs200ta 253 May 3 2021 py7 -rwxr-xr-x 1 sbs5 cs200ta 174 Nov 30 2020 py8 -rwxr-xr-x 1 sbs5 cs200ta 439 May 3 2021 py9 drwxrwsr-x 2 sbs5 cs200ta 4096 Mar 6 2017 __pycache__ -rwxr-xr-x 1 sbs5 sbs5 43 Feb 24 2017 racket.sh -rw-r--r-- 1 sbs5 cs200ta 30 Feb 24 2017 script -rwxr-xr-x 1 sbs5 cs200ta 12 Nov 30 2020 script2 -rwxr-xr-x 1 sbs5 sbs5 70 Feb 24 2017 sh1 -rwxr-xr-x 1 sbs5 sbs5 237 Apr 19 2019 sh2 -rwxr-xr-x 1 sbs5 sbs5 186 Feb 24 2017 sh3 -rwxr-xr-x 1 sbs5 sbs5 117 Mar 3 2017 sh4 -rwxr-xr-x 1 sbs5 sbs5 175 Apr 18 2018 sh5 -rwxr-xr-x 1 sbs5 sbs5 200 Feb 24 2017 sh6 -rwxr-xr-x 1 sbs5 sbs5 160 Feb 24 2017 sh7 -rwxr-xr-x 1 sbs5 sbs5 148 Feb 24 2017 sh8 -rwxr-xr-x 1 sbs5 sbs5 112 Dec 21 2018 sleep.txt -rw-rw-r-- 1 sbs5 cs200ta 142 Mar 2 2017 user_data.xml -rw-rw-r-- 1 sbs5 cs200ta 15 Mar 6 2017 user.info -rw-rw-r-- 1 sbs5 cs200ta 49 Mar 6 2017 users.info sbs5@hornet:~/cs200/www/lectures/sh$ ./script bash: ./script: Permission denied sbs5@hornet:~/cs200/www/lectures/sh$ chmod 655 ./script sbs5@hornet:~/cs200/www/lectures/sh$ ./script bash: ./script: Permission denied sbs5@hornet:~/cs200/www/lectures/sh$ chmod 755 ./script sbs5@hornet:~/cs200/www/lectures/sh$ ./script Wed Nov 20 03:39:21 PM EST 2024 sbs5 pts/0 10.66.112.45 Wed Nov 20 14:25 still logged in sbs5 pts/1 10.66.3.39 Tue Nov 19 15:13 - 16:03 (00:50) sbs5 pts/0 10.66.185.23 Mon Nov 18 10:24 - 11:24 (00:59) sbs5 pts/0 10.66.185.23 Wed Nov 13 14:37 - 15:39 (01:01) sbs5 pts/1 10.66.185.23 Mon Nov 4 14:29 - 15:45 (01:16) sbs5 pts/1 10.66.185.23 Fri Nov 1 10:25 - 11:26 (01:01) sbs5@hornet:~/cs200/www/lectures/sh$ cat script2 date whoami sbs5@hornet:~/cs200/www/lectures/sh$ source script2 Wed Nov 20 03:39:55 PM EST 2024 sbs5 sbs5@hornet:~/cs200/www/lectures/sh$ . script2 Wed Nov 20 03:40:03 PM EST 2024 sbs5 sbs5@hornet:~/cs200/www/lectures/sh$ script2 Command 'script2' not found, did you mean: command 'script6' from deb ipv6toolkit (2.0+ds.1-1) command 'script' from deb bsdutils (1:2.37.2-4ubuntu3.4) Try: apt install sbs5@hornet:~/cs200/www/lectures/sh$ ./script2 Wed Nov 20 03:40:39 PM EST 2024 sbs5 sbs5@hornet:~/cs200/www/lectures/sh$ echo $PATH /usr/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/accts/sbs5/.dotnet/tools:/usr/local/python3.4/bin sbs5@hornet:~/cs200/www/lectures/sh$ ls py0 py13 py17.py py4 py9 sh1 sh6 user.info py1 py14 py17.pyc py5 __pycache__ sh2 sh7 users.info py10 py15 py18 py6 racket.sh sh3 sh8 py11 py16 py2 py7 script sh4 sleep.txt py12 py17 py3 py8 script2 sh5 user_data.xml sbs5@hornet:~/cs200/www/lectures/sh$ cat sh1 #! /usr/bin/bash echo 'This is a shell script.' echo ls echo $(ls) sbs5@hornet:~/cs200/www/lectures/sh$ ./sh1 This is a shell script. ls py0 py1 py10 py11 py12 py13 py14 py15 py16 py17 py17.py py17.pyc py18 py2 py3 py4 py5 py6 py7 py8 py9 __pycache__ racket.sh script script2 sh1 sh2 sh3 sh4 sh5 sh6 sh7 sh8 sleep.txt user_data.xml user.info users.info sbs5@hornet:~/cs200/www/lectures/sh$ . sh1 This is a shell script. ls py0 py1 py10 py11 py12 py13 py14 py15 py16 py17 py17.py py17.pyc py18 py2 py3 py4 py5 py6 py7 py8 py9 __pycache__ racket.sh script script2 sh1 sh2 sh3 sh4 sh5 sh6 sh7 sh8 sleep.txt user_data.xml user.info users.info sbs5@hornet:~/cs200/www/lectures/sh$ cat py0 #! /usr/bin/python3 print ("This is a Python shell script.") sbs5@hornet:~/cs200/www/lectures/sh$ ./py0 This is a Python shell script. sbs5@hornet:~/cs200/www/lectures/sh$ . py0 bash: py0:3: syntax error near unexpected token `"This is a Python shell script."' bash: py0:3: `print ("This is a Python shell script.")' sbs5@hornet:~/cs200/www/lectures/sh$ ls py0 py13 py17.py py4 py9 sh1 sh6 user.info py1 py14 py17.pyc py5 __pycache__ sh2 sh7 users.info py10 py15 py18 py6 racket.sh sh3 sh8 py11 py16 py2 py7 script sh4 sleep.txt py12 py17 py3 py8 script2 sh5 user_data.xml sbs5@hornet:~/cs200/www/lectures/sh$ cat racket.sh #! /usr/bin/racket #lang racket (+ 9 9) sbs5@hornet:~/cs200/www/lectures/sh$ ./racket.sh 18 sbs5@hornet:~/cs200/www/lectures/sh$ exit Process shell finished