Shell-tools: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(12 intermediate revisions by the same user not shown)
Line 5: Line 5:
=Overview=
=Overview=


A collection of ready-to-use command line tools. Includes <tt>searchjar</tt>, <tt>setw</tt>/<tt>cdw</tt>, etc. Can be used both on Linux and Cygwin systems.
A collection of ready-to-use command line tools. Includes <tt>searchjar</tt>, <tt>setw</tt>/<tt>cdw</tt>, <tt>lims</tt>, etc. Can be used both on Linux and Cygwin systems.
 
=Configure a Script to Use the Libraries=
 
<syntaxhighlight lang='bash'>
#!/usr/bin/env bash
 
[[ -z "${SHLIB_DIR}" ]] && { echo "[error]: SHLIB_DIR not defined" 1>&2; exit 1; }
[[ -f ${SHLIB_DIR}/std.shlib ]] && . ${SHLIB_DIR}/std.shlib || { echo "[error]: ${SHLIB_DIR}/std.shlib not found" 1>&2; exit 1; }
</syntaxhighlight>


=std.shlib=
=std.shlib=


<font color=red>
<font color=red>
<tt>shell-tools</tt> contain a version of <tt>std.shlib</tt>. Need to decide whether this will remain the official version or we need to maintain it as a dependency. Also see [[em#std.shlib]].
'''TODO'''
 
On 04/04/16 a standalone <tt>std.shlib</tt> project was created. At that time, <tt>em</tt> contained its own version of <tt>std.shlib</tt>. Must migrate <tt>em</tt> to use the separated one. See [[std.shlib]].
 
</font>
</font>


=GitHub=
=GitHub=


<blockquote style="background-color: AliceBlue; border: solid thin LightSteelBlue;">
{{External|https://github.com/NovaOrdis/shell-tools}}
:<br>https://github.com/NovaOrdis/shell-tools<br><br>
</blockquote>


To clone:
To clone:
Line 31: Line 41:
* <tt>rename-intellij</tt>
* <tt>rename-intellij</tt>
* <tt>lims</tt>
* <tt>lims</tt>
* <tt>[[mac-setup]]</tt>
* b, t, d, r


=Installation=
=Installation=
Line 47: Line 59:
Then edit <tt>~/.bashrc</tt> as follows:
Then edit <tt>~/.bashrc</tt> as follows:


<pre>
<syntaxhighlight lang='bash'>
    ...
...
 
#
# shell-tools
#
alias cdw='. cdwi'
export PATH=~/bin/shell-tools:${PATH}
</syntaxhighlight>
 
=lib=
 
Contains <code>bash.shlib</code>, <code>java.shlib</code>, etc.
 
==lib Usage==
 
Other libraries should not source libraries. Only the top level scripts should source libraries: all dependency libraries should be sourced. Currently there is no automatic mechanism that will enforce that. If libraries are missing, there will be errors like:
 
<syntaxhighlight lang='bash'>
./something
./lib/vagrant.shlib: line 10: check-bash-version: command not found
./lib/vagrant.shlib: line 11: process-common-arguments: command not found
./lib/vagrant.shlib: line 11: error: command not found
</syntaxhighlight>
 
=TODO=


    alias cdw='. cdwi'
{{Internal|shell-tools TODO|shell-tools TODO}}
    export PATH=~/bin/shell-tools:${PATH}
</pre>

Latest revision as of 02:41, 23 November 2019

Internal

Overview

A collection of ready-to-use command line tools. Includes searchjar, setw/cdw, lims, etc. Can be used both on Linux and Cygwin systems.

Configure a Script to Use the Libraries

#!/usr/bin/env bash

[[ -z "${SHLIB_DIR}" ]] && { echo "[error]: SHLIB_DIR not defined" 1>&2; exit 1; }
[[ -f ${SHLIB_DIR}/std.shlib ]] && . ${SHLIB_DIR}/std.shlib || { echo "[error]: ${SHLIB_DIR}/std.shlib not found" 1>&2; exit 1; }

std.shlib

TODO

On 04/04/16 a standalone std.shlib project was created. At that time, em contained its own version of std.shlib. Must migrate em to use the separated one. See std.shlib.

GitHub

https://github.com/NovaOrdis/shell-tools

To clone:

git clone git@github.com:NovaOrdis/shell-tools.git

Tools

  • cdw/getw
  • searchjar
  • rename-intellij
  • lims
  • mac-setup
  • b, t, d, r

Installation

    cd ~/bin
    git clone git@github.com:NovaOrdis/shell-tools.git

Alternatively, read only access is available for an arbitrary Git account:

    git clone https://<git-account>@github.com/NovaOrdis/shell-tools.git

Then edit ~/.bashrc as follows:

...

# 
# shell-tools
# 
alias cdw='. cdwi'
export PATH=~/bin/shell-tools:${PATH}

lib

Contains bash.shlib, java.shlib, etc.

lib Usage

Other libraries should not source libraries. Only the top level scripts should source libraries: all dependency libraries should be sourced. Currently there is no automatic mechanism that will enforce that. If libraries are missing, there will be errors like:

./something
./lib/vagrant.shlib: line 10: check-bash-version: command not found
./lib/vagrant.shlib: line 11: process-common-arguments: command not found
./lib/vagrant.shlib: line 11: error: command not found

TODO

shell-tools TODO