3 votos

Pasar texto al acceso directo mediante argumentos de la línea de comandos

Problema

Quiero ejecutar un acceso directo desde la línea de comandos e incluir texto Unicode como parte del comando. Quiero hacer algo como shortcuts run "My Notification Shortcut" "My Text Input"

macOS Notification Dialog

Según la Accesos directos Docs :

Ejecutar atajos desde la línea de comandos no difiere de hacerlo desde la aplicación Atajos: puedes pasar documentos, imágenes, texto y mucho más.

atajos -h:
shortcuts run <shortcut-name-or-identifier> [--input-path <input-path> ...] [--output-path <output-path>] [--output-type <output-type>]

Esto parece implicar que el texto debe incluirse como archivo. Esto funciona:

shortcuts run "Test" -i "/Users/Dave/My Text.txt"

y quiero hacer esto:

shortcuts run "Test" "My Text Input"

Tener que guardar el texto en un archivo parece un paso innecesario.

Pregunta:

¿Es posible pasar un objeto de texto como argumento de línea de comandos directamente a un acceso directo?

2voto

isolier Puntos 41

Parece que es posible después de todo usando el operador bash <<< . Este comando del intérprete de comandos funciona según lo previsto:

shortcuts run "Test Alert" <<< "My Text Input"

Sample Notification with passed text

"man bash"
   Here Strings
       A variant of here documents, the format is:

              <<<word

       The word is expanded and supplied to the command on its standard input.

Actualización 1: según el comentario anterior de @Martin R., la siguiente construcción también funciona.

echo "My Text Input" | shortcuts run "Test Alert"

1voto

Douglas Puntos 10417

Según la página man de los atajos ( man shortcuts ) debe ser un archivo o un conjunto de archivos:

Un archivo de entrada (o conjunto de archivos) que será procesado por el acceso directo. Se aceptan comodines.

Lamentablemente, no se puede pasar un texto objeto (una variable, por ejemplo) como argumento de la función shortcuts mando. Tiene que ser un archivo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X