cli-scripts/README.md

3.8 KiB

cli-scripts

Useful CLI scripts that I think are worth sharing.

NOTE: With all of these, you'll need to customize the environment for yourself. I have yet to make things like home directories and what-not generic variables

Prerequisites

The scripts in the scripts directory rely heavily the expectation that you already have a number of applications installed on your system. If you're on a Debian or Ubuntu-ish system, then installing them should be more or less as simple as an apt install {whatever}. For the rest of you, you'll have to make your own way. Sorry.

Here is the prerequisite list broken down by script:

apps

This is a little ncurses menu I built for myself. Dependencies will be determined by how you decide to customize the menu for yourself (i.e. what applications you want to put in the menu), but there is one common dependency.

  • dialog - I think this comes automatically with Debian/Ubuntu

birthdate

prints the initial installation date of your system

  • None

cecho

provides colorized echo messages

  • The bash version of printf for best results

checkit

performs a grammatical version of code linting, but on your text documents.

  • vale - https://vale.sh/
  • go - Their Dockerfile (for the docker implementation) calls for golang 1.21
  • .config/vale - included in this repo. Vale is a bit confusing to setup. So, I'm providing my vale config as a 'starter pack'. This just goes into your own ~/.config location.

dirsz

dumps a list of the directory sizes recursively from your CWD

  • None

fif

A "find-in-files" utility for the console.

  • fd-find - a better substitute for the standard 'find' command

forecast

Dumpe a three-day forecast to your console

  • curl, and a network connection (for access to wttr.in)

getvid

downloads a youtube video given the web url to the video (and specified resolution)

  • yt-dlp

ifcheck

shows the state of your ethernet/wifi interface

  • ip - I can't remember if this was something I had to install after the fact.

memo

  • None - However, you'll need to modify the script to specify your own editor, and you'll have to create a "memos" directory in your Documents folder.

netcheck

Tells you if the internet is accessible from your shell.

  • None

oggrec

Starts a recording from the console, using your default mic

  • alsa-utils - provides arecord which captures the raw audio input
  • vorbis-tools - provides oggenc which encodes it to ogg and stores it to the specified file

status

Combines the ifcheck, netcheck, wx, and a few other commands into a full screen status display

  • ifcheck - see above
  • netcheck - see above
  • cecho - see above
  • wx - seee below

tone

generates a sine wave of the specified frequency and duration as a wav file.

  • ffmpeg

tones

same as above, only does it in stereo

usedisk

generates a 1.44MB floppy disk image, and attempts to mount it on your system

  • None - however, you should be careful. This will consume loop devices, in order to mount the created disk

vmemo

records a short, low-resolution (small size) 15 second audio memo from your default mic

  • arecord
  • mp3 codecs

vplay

Launches VLC in ncurses mode, and automatically starts playing music from your ~/Music folder

  • vlc - video lan client

vradio

Same as above, but if you have m3u radio stations stored in your vlc config, it will pick a station at random.

  • vlc - video lan client

wx

displays the current weather conditions for your area. You'll need to customize the script.

  • ansiweather - available in Debian and Ubuntu repositories.

yootoob

A utility for searching and watching youtube videos without a browser

  • ytfzf (which I believe also has a dependency on yt-dlp)
  • mpv - although, you could substitute in mplayer or vlc or whatever you like