36 lines
991 B
Bash
Executable file
36 lines
991 B
Bash
Executable file
#!/bin/bash
|
|
# Mount the first phone to be found in a temporary directory with a name
|
|
# prefixed with "jmtpfs", in the /tmp directory. If -u is passed, unmount all
|
|
# directories with this same name pattern and remove them (after confirmation).
|
|
|
|
if ! command -v jmtpfs > /dev/null; then
|
|
echo "jmtpfs is not installed."
|
|
exit
|
|
fi
|
|
|
|
unmount_phones() {
|
|
for mount_dir in /tmp/jmtpfs.*; do
|
|
if [ -d "$mount_dir" ]; then
|
|
umount "$mount_dir"
|
|
echo "$mount_dir unmounted. It should now be empty:"
|
|
ls -la "$mount_dir"
|
|
rm -rI "$mount_dir"
|
|
fi
|
|
done
|
|
}
|
|
|
|
SHOW_MOUNT=
|
|
while getopts "hus" OPTION; do
|
|
case $OPTION in
|
|
h) usage; exit 0 ;;
|
|
u) unmount_phones; exit 0 ;;
|
|
s) SHOW_MOUNT=true ;;
|
|
*) usage; exit 1 ;;
|
|
esac
|
|
done
|
|
|
|
mount_dir="$(mktemp -d -p /tmp jmtpfs.XXXXXXXXXX)"
|
|
jmtpfs "$mount_dir"
|
|
echo "Mount directory: $mount_dir"
|
|
[[ "$SHOW_MOUNT" = true ]] && nohup open "$mount_dir" > /dev/null 2>&1
|