utils upgrade
This commit is contained in:
@@ -1,3 +1,17 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
watch -tn 1 date '+%l:%M:%S%p'
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h]
|
||||||
|
|
||||||
|
Display current time and unix timestamp (updates every second).
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
watch -tn 1 date '+%H:%M:%S%n%s'
|
||||||
|
|||||||
@@ -1,6 +1,22 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] [file]
|
||||||
|
|
||||||
|
Copy content to system clipboard.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
file File to copy (reads from stdin if not specified)
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
if hash pbcopy 2>/dev/null; then
|
if hash pbcopy 2>/dev/null; then
|
||||||
exec pbcopy
|
exec pbcopy
|
||||||
elif hash xclip 2>/dev/null; then
|
elif hash xclip 2>/dev/null; then
|
||||||
|
|||||||
@@ -1,6 +1,22 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] <url>
|
||||||
|
|
||||||
|
Display detailed curl statistics for a URL.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
url URL to fetch statistics for
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
curl -sLw @- -o /dev/null "$@" <<'EOF'
|
curl -sLw @- -o /dev/null "$@" <<'EOF'
|
||||||
URL:\t\t\t%{url}\n
|
URL:\t\t\t%{url}\n
|
||||||
Address:\t\t%{remote_ip}:%{remote_port}\n
|
Address:\t\t%{remote_ip}:%{remote_port}\n
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
if [ -z "$1" ]; then
|
if [ -z "$1" ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
|
||||||
echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>"
|
echo "Usage: $(basename "$0") <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>"
|
||||||
echo " extract <path/file_name_1.ext> [path/file_name_2.ext] [path/file_name_3.ext]"
|
echo " $(basename "$0") <path/file_name_1.ext> [path/file_name_2.ext] [path/file_name_3.ext]"
|
||||||
exit 1
|
echo
|
||||||
|
echo "Options:"
|
||||||
|
echo " -h, --help Show this help message"
|
||||||
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for n in "$@"; do
|
for n in "$@"; do
|
||||||
|
|||||||
@@ -1,3 +1,17 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h]
|
||||||
|
|
||||||
|
Flush DNS cache using resolvectl.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
sudo resolvectl flush-caches
|
sudo resolvectl flush-caches
|
||||||
|
|||||||
@@ -1,5 +1,25 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
|
show_usage() {
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] [search]
|
||||||
|
|
||||||
|
List or search HTTP status codes.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
search Search term to filter status codes
|
||||||
|
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
show_usage
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
statuses="100 Continue
|
statuses="100 Continue
|
||||||
101 Switching Protocols
|
101 Switching Protocols
|
||||||
|
|||||||
@@ -1,4 +1,22 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] <command>
|
||||||
|
|
||||||
|
Check if a command is available.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
command Command to check
|
||||||
|
|
||||||
|
Returns 0 if command exists, 1 otherwise.
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
[ -n "$1" ] && command -v "$1" || exit 1
|
[ -n "$1" ] && command -v "$1" || exit 1
|
||||||
|
|||||||
@@ -1,4 +1,24 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
echo -n "$@" | wc -c | awk '{print $1}'
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] <string>
|
||||||
|
|
||||||
|
Display length of a string.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
string String to measure
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -t 0 ]]; then # Read from stdin (pipe)
|
||||||
|
wc -c | awk '{print $1}'
|
||||||
|
else # Read from arguments
|
||||||
|
echo -n "$@" | wc -c | awk '{print $1}'
|
||||||
|
fi
|
||||||
|
|||||||
@@ -1,5 +1,27 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] <lineno> <file>
|
||||||
|
|
||||||
|
Display a specific line from a file.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
lineno Line number to display (1-based)
|
||||||
|
file File to read from
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
lineno="$1"; shift
|
lineno="$1"; shift
|
||||||
sed -n "${lineno}p" -- "$@"
|
|
||||||
|
if [[ ! -t 0 ]]; then # Read from stdin (pipe)
|
||||||
|
sed -n "${lineno}p"
|
||||||
|
else # Read from file
|
||||||
|
sed -n "${lineno}p" -- "$@"
|
||||||
|
fi
|
||||||
|
|||||||
@@ -1,4 +1,21 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] <directory>
|
||||||
|
|
||||||
|
Create directory and change to it.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
directory Directory to create and enter
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
mkdir -p "$1"
|
mkdir -p "$1"
|
||||||
cd "$1" || exit
|
cd "$1" || false
|
||||||
|
|||||||
@@ -1,6 +1,22 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] <script>
|
||||||
|
|
||||||
|
Create a new bash script with boilerplate.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
script Script filename to create
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
if [ ! $# -eq 1 ]; then
|
if [ ! $# -eq 1 ]; then
|
||||||
echo 'mksh takes one argument' 1>&2
|
echo 'mksh takes one argument' 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
@@ -9,13 +25,11 @@ elif [ -e "$1" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo '#!/usr/bin/env bash
|
{
|
||||||
set -e
|
echo '#!/usr/bin/env bash'
|
||||||
set -u
|
echo 'set -eo pipefail'
|
||||||
set -o pipefail
|
echo
|
||||||
|
} > "$1"
|
||||||
' > "$1"
|
|
||||||
|
|
||||||
chmod u+x "$1"
|
chmod u+x "$1"
|
||||||
|
exec "$EDITOR" "$1"
|
||||||
nano "$1"
|
|
||||||
|
|||||||
@@ -1,4 +1,22 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
curl http://ipecho.net/plain
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
echo
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h]
|
||||||
|
|
||||||
|
Display external IP address.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$1" == "-2" ]]; then
|
||||||
|
curl -fsSL https://api.myip.com | jq -r .ip
|
||||||
|
else
|
||||||
|
curl -fsSL http://ipecho.net/plain
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|||||||
@@ -1,3 +1,17 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
date '+%d.%m.%Y %H:%M:%S'
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h]
|
||||||
|
|
||||||
|
Display current time and unix timestamp.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
date '+%H:%M:%S%n%s'
|
||||||
|
|||||||
@@ -1,4 +1,20 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] <files...>
|
||||||
|
|
||||||
|
Change ownership of files to current user.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
files Files or directories to change ownership
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
sudo chown "$(whoami)". -R --changes --preserve-root "$@"
|
sudo chown "$(whoami)". -R --changes --preserve-root "$@"
|
||||||
|
|||||||
@@ -1,6 +1,19 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h]
|
||||||
|
|
||||||
|
Paste content from system clipboard.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
if hash pbpaste 2>/dev/null; then
|
if hash pbpaste 2>/dev/null; then
|
||||||
exec pbpaste
|
exec pbpaste
|
||||||
elif hash xclip 2>/dev/null; then
|
elif hash xclip 2>/dev/null; then
|
||||||
|
|||||||
@@ -1,4 +1,22 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h]
|
||||||
|
|
||||||
|
Set default permissions for files and directories in current directory.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Sets:
|
||||||
|
- Files: 0664 (rw-rw-r--)
|
||||||
|
- Directories: 0775 (rwxrwxr-x)
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
# TODO permissions via arguments
|
# TODO permissions via arguments
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,29 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
process_list="$(ps -eo 'pid command')"
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
if [[ $# != 0 ]]; then
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] [filter]
|
||||||
|
|
||||||
|
Display running processes.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
filter Optional filter string to match processes
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $# == 0 ]]; then
|
||||||
|
process_list="$(ps -eo 'pid command')"
|
||||||
|
else
|
||||||
process_list="$(echo "$process_list" | grep -Fiw "$@")"
|
process_list="$(echo "$process_list" | grep -Fiw "$@")"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "$process_list" |
|
echo "$process_list" \
|
||||||
grep -Fv "${BASH_SOURCE[0]}" |
|
| grep -Fv "${BASH_SOURCE[0]}" \
|
||||||
grep -Fv grep |
|
| grep -Fv grep \
|
||||||
GREP_COLORS='mt=00;35' grep -E --colour=auto '^\s*[[:digit:]]+'
|
| GREP_COLORS='mt=00;35' grep -E --colour=auto '^\s*[[:digit:]]+'
|
||||||
|
|||||||
@@ -1,6 +1,19 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h]
|
||||||
|
|
||||||
|
Open a temporary scratchpad file in \$EDITOR.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
file="$(mktemp)"
|
file="$(mktemp)"
|
||||||
echo "Editing $file"
|
echo "Editing $file"
|
||||||
exec "$EDITOR" "$file"
|
exec "$EDITOR" "$file"
|
||||||
|
|||||||
@@ -1,11 +1,24 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
port='8888'
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
if [ $# -eq 1 ]; then
|
cat <<EOF
|
||||||
port="$1"
|
Usage: $(basename "$0") [-h] [port]
|
||||||
|
|
||||||
|
Start a simple HTTP server in current directory.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
port Port number (default: 8888)
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
port="${1:-8888}"
|
||||||
|
|
||||||
if hash php 2>/dev/null; then
|
if hash php 2>/dev/null; then
|
||||||
exec php -S "localhost:$port"
|
exec php -S "localhost:$port"
|
||||||
elif hash python3 2>/dev/null; then
|
elif hash python3 2>/dev/null; then
|
||||||
|
|||||||
@@ -1,6 +1,22 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] <seconds>
|
||||||
|
|
||||||
|
Set a timer with desktop notification.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
seconds Timer duration in seconds
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
sleep "$1"
|
sleep "$1"
|
||||||
notify-send 'Timer complete!' \
|
notify-send 'Timer complete!' \
|
||||||
-u normal \
|
-u normal \
|
||||||
|
|||||||
17
utils/.local/bin/today
Executable file
17
utils/.local/bin/today
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h]
|
||||||
|
|
||||||
|
Display current date.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
date '+%d.%m.%Y'
|
||||||
@@ -1,3 +1,20 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] <files...>
|
||||||
|
|
||||||
|
Move files to trash using gio.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
files Files or directories to move to trash
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
gio trash "$@"
|
gio trash "$@"
|
||||||
|
|||||||
@@ -1,5 +1,21 @@
|
|||||||
#!/usr/bin/env bash
|
#!/husr/bin/env bash
|
||||||
set -u
|
set -uo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] <command>
|
||||||
|
|
||||||
|
Retry a command until it fails.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
command Command to repeatedly execute
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
"$@"
|
"$@"
|
||||||
while [[ "$?" -eq 0 ]]; do
|
while [[ "$?" -eq 0 ]]; do
|
||||||
|
|||||||
@@ -1,5 +1,21 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -u
|
set -uo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] <command>
|
||||||
|
|
||||||
|
Retry a command until it succeeds.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
command Command to repeatedly execute
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
"$@"
|
"$@"
|
||||||
while [[ "$?" -ne 0 ]]; do
|
while [[ "$?" -ne 0 ]]; do
|
||||||
|
|||||||
16
utils/.local/bin/unixtime
Executable file
16
utils/.local/bin/unixtime
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h]
|
||||||
|
|
||||||
|
Display current unix timestamp.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
date '%s'
|
||||||
@@ -1,10 +1,23 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h]
|
||||||
|
|
||||||
|
Upgrade system packages (apt, snap, flatpak).
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
is apt >/dev/null && {
|
is apt >/dev/null && {
|
||||||
echo
|
echo
|
||||||
echo "==========================="
|
echo "==========================="
|
||||||
echo "Upgarding apt packages..."
|
echo "Upgrading apt packages..."
|
||||||
echo "==========================="
|
echo "==========================="
|
||||||
echo
|
echo
|
||||||
sudo apt update
|
sudo apt update
|
||||||
@@ -14,7 +27,7 @@ is apt >/dev/null && {
|
|||||||
is snap >/dev/null && {
|
is snap >/dev/null && {
|
||||||
echo
|
echo
|
||||||
echo "==========================="
|
echo "==========================="
|
||||||
echo "Upgarding snap packages..."
|
echo "Upgrading snap packages..."
|
||||||
echo "==========================="
|
echo "==========================="
|
||||||
echo
|
echo
|
||||||
sudo snap refresh
|
sudo snap refresh
|
||||||
@@ -23,7 +36,7 @@ is snap >/dev/null && {
|
|||||||
is flatpak >/dev/null && {
|
is flatpak >/dev/null && {
|
||||||
echo
|
echo
|
||||||
echo "==========================="
|
echo "==========================="
|
||||||
echo "Upgarding flatpak packages..."
|
echo "Upgrading flatpak packages..."
|
||||||
echo "==========================="
|
echo "==========================="
|
||||||
echo
|
echo
|
||||||
sudo flatpak update -y
|
sudo flatpak update -y
|
||||||
|
|||||||
@@ -1,12 +1,38 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
curl "https://r.jina.ai/$1" \
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] <url>
|
||||||
|
|
||||||
|
Convert webpage URL to markdown using jina.ai.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
url URL of webpage to convert
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# More details: https://jina.ai/reader/
|
||||||
|
|
||||||
|
url="$1"; shift
|
||||||
|
curl "https://r.jina.ai/$url" \
|
||||||
-sS \
|
-sS \
|
||||||
-H "DNT: 1" \
|
-H "DNT: 1" \
|
||||||
|
-H "X-Md-Hr: ---" \
|
||||||
-H "X-Base: final" \
|
-H "X-Base: final" \
|
||||||
-H "X-Engine: direct" \
|
-H "X-Timeout: 10" \
|
||||||
|
-H "X-Locale: ru-RU" \
|
||||||
|
-H "X-No-Cache: true" \
|
||||||
|
-H "X-Engine: browser" \
|
||||||
|
-H "X-User-Agent: url2md" \
|
||||||
-H "X-Md-Em-Delimiter: *" \
|
-H "X-Md-Em-Delimiter: *" \
|
||||||
-H "X-Md-Heading-Style: setext" \
|
-H "X-Md-Link-Style: inlined" \
|
||||||
|
-H "X-Return-Format: markdown" \
|
||||||
|
-H "X-Keep-Img-Data-Url: true" \
|
||||||
-H "X-Md-Link-Reference-Style: collapsed" \
|
-H "X-Md-Link-Reference-Style: collapsed" \
|
||||||
-H "X-Md-Link-Style: referenced"
|
"$@"
|
||||||
|
|||||||
@@ -1,4 +1,30 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] <input.mp4>
|
||||||
|
|
||||||
|
Compress MP4 video using ffmpeg.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
input.mp4 Input video file (must be .mp4)
|
||||||
|
|
||||||
|
Output:
|
||||||
|
<input>_compressed.mp4
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
filename="${1%.mp4}"
|
filename="${1%.mp4}"
|
||||||
ffmpeg -i "$filename".mp4 -c:v libx264 -crf 28 -preset veryslow -c:a aac -b:a 128k "$filename"_compressed.mp4
|
ffmpeg \
|
||||||
|
-i "$filename".mp4 \
|
||||||
|
-c:v libx264 \
|
||||||
|
-crf 28 \
|
||||||
|
-preset veryslow \
|
||||||
|
-c:a aac \
|
||||||
|
-b:a 128k \
|
||||||
|
"$filename"_compressed.mp4
|
||||||
|
|||||||
@@ -1,6 +1,22 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] <pid>
|
||||||
|
|
||||||
|
Wait for a process to complete.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
pid Process ID to wait for
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
if hash systemd-inhibit 2>/dev/null; then
|
if hash systemd-inhibit 2>/dev/null; then
|
||||||
systemd-inhibit \
|
systemd-inhibit \
|
||||||
--who=waitfor \
|
--who=waitfor \
|
||||||
|
|||||||
@@ -1,4 +1,22 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
#set -eo pipefail
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] <command>
|
||||||
|
|
||||||
|
Show detailed information about a command.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
command Command to investigate
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
set -x
|
set -x
|
||||||
|
|
||||||
type "$1" 2>/dev/null
|
type "$1" 2>/dev/null
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
# Download music from Youtube or Youtube Music
|
# Download music from Youtube or Youtube Music
|
||||||
# and save as top quality flac file without video
|
# and save as top quality flac file without video
|
||||||
@@ -6,6 +7,25 @@
|
|||||||
# Usage: $ ytmusic https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
# Usage: $ ytmusic https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
||||||
# More info: https://github.com/ytdl-org/youtube-dl
|
# More info: https://github.com/ytdl-org/youtube-dl
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $(basename "$0") [-h] <url>
|
||||||
|
|
||||||
|
Download music from YouTube or YouTube Music as FLAC.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help Show this help message
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
url YouTube or YouTube Music URL (playlist or video)
|
||||||
|
|
||||||
|
Output:
|
||||||
|
$HOME/ytmusic/<playlist>/<channel> - <title>.flac
|
||||||
|
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
DEST_PATH="${HOME}/ytmusic"
|
DEST_PATH="${HOME}/ytmusic"
|
||||||
mkdir -p "${DEST_PATH}"
|
mkdir -p "${DEST_PATH}"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user