/Shellino

Shellino is a tiny shell emulator, supporting several commands for common use. Shellino is programmed in Java by Intellj IDEA, and passes building on linux.

Primary LanguageJavaMIT LicenseMIT

*************************************************************
 ____    __              ___    ___                          
/\  _`\ /\ \            /\_ \  /\_ \    __                   
\ \,\L\_\ \ \___      __\//\ \ \//\ \  /\_\    ___     ___   
 \/_\__ \\ \  _ `\  /'__`\\ \ \  \ \ \ \/\ \ /' _ `\  / __`\ 
   /\ \L\ \ \ \ \ \/\  __/ \_\ \_ \_\ \_\ \ \/\ \/\ \/\ \L\ \
   \ `\____\ \_\ \_\ \____\/\____\/\____\\ \_\ \_\ \_\ \____/
    \/_____/\/_/\/_/\/____/\/____/\/____/ \/_/\/_/\/_/\/___/ 

*************************************************************

  Hello there, this is a tiny shell emulator -- Shellino. It 
is programmed by Ziyue Pan, supporting several commands for
common use.

  This program follows MIT license, is free for anyone or any
purpose. Shellino is programmed in Java by Intellj IDEA, and 
passes building on linux. The version of JDK should not be 
under JDK8.  

>> How to build
---------------

  $ git clone https://github.com/PAN-Ziyue/Shellino

  $ idea.bat ./Shellino

  * <Build Artifact>

  $ java -jar ./your/path/to/Shellino.jar

>> Use commands
---------------

> Command:      bg <%pid>
> Description:  set foreground process to foreground.


> Command:      ① cd <path>
                ② cd 
> Description:  change directory to the given path.
                if no given path, change to home dir.


> Command:      clr
> Description:  clear the console


> Command:      ① dir
                ② dir <path>
> Description:  list all the content of the given path.
                if no given path, list the content of 
              current path.


> Command:      echo <str 1> <str 2> <str 3> ...
> Description:  print the given strings to console.


> Command:      exec <command>
> Description:  execute the current command to replace the  
              current process (shutdown the shell). 


> Command:      ① exit
                ② exit <exit code>
> Description:  exit with the given exit code. 
                if no code given, exit with code 0.


> Command:      environ
> Description:  list all the environment variables


> Command:      fg <%pid>
> Description:  set the background process to foreground.


> Command:      help
> Description:  print help manual (this document).


> Command:      more help
> Description:  print interactive help manual.
                enter "u" for up, "d" for down, "q" for quit.


> Command:      jobs
> Description:  list all processes.


> Command:      pwd
> Description:  print current directory.


> Command:      quit
> Description:  exit the shell with code 0.


> Command:      set <key> <value>
> Description:  set temporary environment variables. 


> Command:      shift <amount> <arg1> <arg2> <arg3> ...
> Description:  given a shift amount and a list of arguments,
              shift them by the given amount. 
                for example, if the shift amount is 2, then
              <arg1> <- <arg3>, <arg2> <- <arg4>, ...


> Command:      ① test -n <str>
                ② test -z <str>
> Description:  test the argument list. if the given option
              is '-n', then the command output false if the
              argument is a null string, otherwise true. '-z'
              vice versa.


> Command:      ① umask
                ② umask <val>
> Description:  set the new umask or output the current mask.
              if no given value, then the command output the 
              current umask. or it check 


> Command:      unset
> Description:  delete an environment variable, except the 
              system variables.


> Command:      myshell <batchfile>
> Description:  use the shell to execute the command line by
              line from a given batchfile.