# 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. ### def get the definition for an English word, at the terminal * `dictd` - The dictionary daemon (its actually a little api service) * `dict` - The dictionary daemon client * `dict-gcide` - The "Collaborative International" dictionary. Basically, just the public domain 1913 Edition of Websters. * `cecho` - see above ### 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 ### spchk command line spell checker * `aspell` - available in Ubuntu repositories * `aspell-en` - there are dictionaries for a multitude of languages. I'm an english speaker. * `cecho` - see above. I like colored messages. ### 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