¿Cómo hago un script de acceso directo bash en la aplicación de Android terminal Termux?

1

Tuve que recurrir al uso de Termux ya que el desarrollador de Servers Ultimate Pro no ha actualizado el paquete Node.js durante mucho tiempo y las nuevas funciones de ES6 están rompiendo mis scripts. Después de buscar las instrucciones, tengo el último Node.js instalado a través de apt-get y puedo ejecutar mi script.

Sin embargo, tengo que escribir:

$node storage/shared/folder_in_internal_android_memory/app.js

Si es posible, ¿podría hacer un script bash llamado "bot.sh" con:

#!bin/bash
node storage/shared/folder_in_internal_android_memory/app.js

Luego corre con:

$bot

Puedo copiar un script ya creado, pero no sé dónde colocarlo para permitirme atajarlo.

Estrella nueva
fuente

Respuestas:

1

¿Qué tal el uso de alias?

nano / vi (o lo que sea que edite con) /data/data/com.termux/files/usr/etc/bash.bashrc

Agregue para cada alias;

alias nodeapp = 'almacenamiento de nodo / shared / folder_in_internal_android_memory / app.js'

Anders
fuente
Acabo de probar alias s="node storage/shared/folder_in_internal_android_memory/app.js" and ran s`. Funciona pero no se recuerda para todas las sesiones. Una vez que cierro Termux, olvida el comando. ¿Es posible establecerlo en permanente para recordarlo en todas las sesiones futuras?
Nova
¿Acaba de ingresar el alias o editó el archivo mencionado y el alias aún no persiste?
Anders
El archivo de nodo todavía existe. Simplemente olvida el alias.
Nova
Eso no fue lo que quise decir. ¿Editó: /data/data/com.termux/files/usr/etc/bash.bashrc?
anders
En realidad, en realidad estoy siguiendo este plus.google.com/+KanatTabaldiev/posts/RKavjA1zaCp ahora, pero parece que no puedo hacer que VIM salga cuando escribo : x e ingreso. Supongo que solo escribo s="node storage/shared/folder_in_internal_android_memory/app.jsen una línea y guardo.
Nova
5

Debe colocar el script ~/.shortcuts/e instalar la aplicación Termux: Widget . Luego, las Termux:Widgetopciones aparecen en la lista de widgets del iniciador de la pantalla de inicio.

Según el comentario de Nico a continuación, para acceder a la lista de widgets de un lanzador típico, mantenga presionado un espacio vacío y toque la opción que dice "widgets" o "todos los accesos directos". Luego encuentre y mantenga presionado el widget de acceso directo de Termux deseado y suéltelo donde desee.

También tenga en cuenta que Android carece /biny /usr/bin, por loLD_PRELOAD tanto , es necesario cambiar ejecutando pkg install termux-execy luego reiniciando Termux.

Mark Haferkamp
fuente
1
Pasé mucho tiempo buscando en Google "el lugar habitual para agregar widgets a la pantalla de inicio", porque pensé que era una función de Termux, cuando en realidad es una función de Android. Para aquellos que aún no lo saben, la solución es presionar y mantener presionado un espacio vacío en la pantalla de inicio y luego tocar Widgets / Todos los accesos directos. Encontré la solución aquí: samsung.com/uk/support/mobile-devices/…
nico
@nico Gracias por los comentarios! Actualicé la respuesta para que fuera más clara (y también actualicé /biny la /usr/binsolución mientras estaba en ello).
Mark Haferkamp
1

La respuesta de Mark me llevó por el camino correcto, que probablemente está más allá del alcance de lo que solicitó el OP, pero supongo que esto podría ayudar a otros a buscar una solución más automatizada:

La aplicación Termux: Task (com.termux.tasker) permite integrar la ejecución de scripts en flujos personalizados para programas tasker (y compatibles, como Automate ).

Tenga en cuenta que los scripts que se ejecutarán deben colocarse en ~ / .termux / tasker / (la carpeta también debe crearse).

antiplex
fuente