Added support for long options on certain scripts, optimized some scripts
This commit is contained in:
parent
43dfb82042
commit
6ac4c2a66d
106
dlaudio.sh
106
dlaudio.sh
@ -1,6 +1,9 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Download audio using youtube-dl, passing
|
# Download audio using youtube-dl, passing
|
||||||
# a specific set of options specified by the user
|
# a specific set of options specified by the user
|
||||||
|
#
|
||||||
|
# Copyright (C) 2018 Eric Torres
|
||||||
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
@ -20,68 +23,137 @@ Usage: dlaudio [options] [URLs]
|
|||||||
|
|
||||||
Options:
|
Options:
|
||||||
-b, --batch-dl provide the links from a text file
|
-b, --batch-dl provide the links from a text file
|
||||||
-f, --format the format to use (default: flac)"
|
-f, --format the format to use (default: flac)
|
||||||
-h, --help print this help page
|
-h, --help print this help page
|
||||||
-n, --filename the name of the downloaded file (without the extension)
|
-n, --filename the name of the downloaded file (without the extension)
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
TEMP=$(getopt -o "b:f:hn:::" --long "batch-dl:,filename:,format:,help::" -n "dlaudio" -- "${@}")
|
|
||||||
|
|
||||||
declare -a opts
|
declare -a opts
|
||||||
|
batchfile=
|
||||||
|
filename=
|
||||||
|
format=
|
||||||
|
|
||||||
eval set -- "${TEMP}"
|
# error messages
|
||||||
unset TEMP
|
readonly nobatchfile_error="Error: no batch file entered"
|
||||||
|
readonly nofilename_error="Error: no filename entered"
|
||||||
|
readonly noformat_error="Error: no format entered"
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
case "${1}" in
|
case "${1}" in
|
||||||
"-b"|"--batch-dl")
|
"-b"|"--batch-dl")
|
||||||
case "${2}" in
|
|
||||||
"")
|
|
||||||
batchfile="${2}"
|
batchfile="${2}"
|
||||||
|
case "${batchfile}" in
|
||||||
|
"")
|
||||||
|
echo "${nobatchfile_error}" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
echo "Not a file: ${batchfile}"
|
||||||
|
exit 1
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "No batch file entered" >&2
|
[[ ! -f "${batchfile}" ]] && echo "Not a file: ${batchfile}" >&2 && exit 1
|
||||||
exit 1
|
;;
|
||||||
esac
|
esac
|
||||||
shift 2
|
shift 2
|
||||||
continue
|
continue
|
||||||
|
;;
|
||||||
|
--batchfile=*)
|
||||||
|
batchfile="${2#*=}"
|
||||||
|
case "${batchfile}" in
|
||||||
|
"")
|
||||||
|
echo "${nobatchfile_error}" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
echo "Not a file: ${batchfile}" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
[[ ! -f "${batchfile}" ]] && echo "Not a file: ${batchfile}" && exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
continue
|
||||||
;;
|
;;
|
||||||
"-f"|"--format")
|
"-f"|"--format")
|
||||||
case "${2}" in
|
format="${2}"
|
||||||
|
case "${format}" in
|
||||||
"")
|
"")
|
||||||
echo "No format entered" >&2
|
echo "No format entered" >&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
*)
|
-*)
|
||||||
format="${2}"
|
echo "Not a format: ${format}"
|
||||||
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
shift 2
|
shift 2
|
||||||
continue
|
continue
|
||||||
;;
|
;;
|
||||||
|
--format=*)
|
||||||
|
format="${1#*=}"
|
||||||
|
case "${format}" in
|
||||||
|
"")
|
||||||
|
echo "${noformat_error}" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
echo "Not a format: ${format}" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
continue
|
||||||
|
;;
|
||||||
"-h"|"--help")
|
"-h"|"--help")
|
||||||
# print help page and exit
|
# print help page and exit
|
||||||
printHelp
|
printHelp
|
||||||
exit
|
exit
|
||||||
;;
|
;;
|
||||||
"-n"|"--filename")
|
"-n"|"--filename")
|
||||||
case "${2}" in
|
filename="${2}"
|
||||||
|
case "${filename}" in
|
||||||
"")
|
"")
|
||||||
echo "No filename entered" >&2
|
echo "${nofilename_error}" >&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
*)
|
-*)
|
||||||
filename="${2}"
|
echo "Not a filename: ${filename}" >&2
|
||||||
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
shift 2
|
shift 2
|
||||||
continue
|
continue
|
||||||
|
;;
|
||||||
|
--filename=*)
|
||||||
|
filename="${2#*=}"
|
||||||
|
case "${filename}" in
|
||||||
|
"")
|
||||||
|
echo "${nofilename_error}" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
echo "Not a filename: ${filename}" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
continue
|
||||||
;;
|
;;
|
||||||
"--")
|
"--")
|
||||||
shift
|
shift
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
|
-?*)
|
||||||
|
echo "Error, not an option: ${1}" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
shift
|
||||||
|
break
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -94,13 +166,13 @@ opts+=("--extract-audio")
|
|||||||
opts+=("--audio-format=${format:-flac}")
|
opts+=("--audio-format=${format:-flac}")
|
||||||
|
|
||||||
# set filename to either what the user set or its original title
|
# set filename to either what the user set or its original title
|
||||||
if [[ -n "${filename}" ]]; then
|
if [[ "${filename}" ]]; then
|
||||||
opts+=("--output=${HOME}/Music/${filename}.%(ext)s")
|
opts+=("--output=${HOME}/Music/${filename}.%(ext)s")
|
||||||
else
|
else
|
||||||
opts+=("--output=${HOME}/Music/%(title)s.%(ext)s")
|
opts+=("--output=${HOME}/Music/%(title)s.%(ext)s")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n "${batchfile}" ]]; then
|
if [[ "${batchfile}" ]]; then
|
||||||
youtube-dl "${opts[@]}" --batch-file="${batchfile}"
|
youtube-dl "${opts[@]}" --batch-file="${batchfile}"
|
||||||
else
|
else
|
||||||
youtube-dl "${opts[@]}" "${@}"
|
youtube-dl "${opts[@]}" "${@}"
|
||||||
|
26
fqo.sh
26
fqo.sh
@ -3,14 +3,34 @@
|
|||||||
|
|
||||||
printHelp() {
|
printHelp() {
|
||||||
cat << EOF
|
cat << EOF
|
||||||
fqo - fuzzy find a file and then check which package owns it
|
fqo - fuzzy find a file and then check which package owns it
|
||||||
Usage: fqo [patterns]
|
Usage: fqo [-h|--help] [patterns]
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
-h show this help page
|
-h show this help page
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
case "${1}" in
|
||||||
|
"-h"|"--help")
|
||||||
|
printHelp
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
--)
|
||||||
|
shift
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
-?*)
|
||||||
|
echo "Not an option: ${1}" >&2 && exit 1
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
break;
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
[[ -z "${*}" ]] && echo "No patterns specified" && exit 1
|
[[ -z "${*}" ]] && echo "No patterns specified" && exit 1
|
||||||
|
|
||||||
locate --all --ignore-case --null -- "${@}" | fzf --read0 --exit-0 --select-1 | pacman -Qo -
|
locate --all --ignore-case --null -- "${@}" | fzf --read0 --exit-0 --select-1 | pacman -Qo -
|
||||||
|
@ -1,4 +1,37 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Obtain a weather forecast
|
# Obtain a weather forecast
|
||||||
|
|
||||||
echo "${@}" | xargs --no-run-if-empty -I {} curl wttr.in/{}
|
printHelp() {
|
||||||
|
cat << EOF
|
||||||
|
Retrieve the weather of a give location
|
||||||
|
|
||||||
|
Usage: getweather [-h|--help] [location]
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h show this help page
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
case "${1}" in
|
||||||
|
"-h"|"--help")
|
||||||
|
printHelp
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
--)
|
||||||
|
shift
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
-?*)
|
||||||
|
echo "Not an option: ${1}" >&2 && exit 1
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
break;
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
[[ -z "${@}" ]] && echo "Please enter a location" >&2 && exit 1
|
||||||
|
|
||||||
|
xargs --no-run-if-empty -I {} curl wttr.in/{} <<< "${@}"
|
||||||
|
4
lsgroups
Executable file
4
lsgroups
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# List all groups in the system
|
||||||
|
|
||||||
|
sort <(awk -F ':' '{print $1}' < /etc/group)
|
Loading…
x
Reference in New Issue
Block a user