--- /dev/null
+#!/data/data/com.termux/files/usr/bin/sh
+set -e -u
+
+SCRIPTNAME=termux-open
+show_usage () {
+ echo "Usage: $SCRIPTNAME [options] path-or-url"
+ echo "Open a file or URL in an external app."
+ echo " --send if the file should be shared for sending"
+ echo " --view if the file should be shared for viewing (default)"
+ echo " --chooser if an app chooser should always be shown"
+ echo " --content-type type specify the content type to use"
+ exit 0
+}
+
+TEMP=`busybox getopt \
+ -n $SCRIPTNAME \
+ -o h \
+ --long send,view,chooser,content-type:,\
+ -- "$@"`
+eval set -- "$TEMP"
+
+ACTION=android.intent.action.VIEW
+EXTRAS=""
+while true; do
+ case "$1" in
+ --send) ACTION="android.intent.action.SEND"; shift;;
+ --view) ACTION="android.intent.action.VIEW"; shift;;
+ --chooser) EXTRAS="$EXTRAS --ez chooser true"; shift;;
+ --content-type) EXTRAS="$EXTRAS --es content-type $2"; shift 2;;
+ -h | --help) show_usage;;
+ --) shift; break ;;
+ esac
+done
+if [ $# != 1 ]; then
+ show_usage
+fi
+
+am broadcast --user 0 \
+ -a $ACTION \
+ -n com.termux/com.termux.app.TermuxOpenReceiver \
+ $EXTRAS \
+ -d "$1" \
+ > /dev/null
+