0 votos

¿Existe una forma de introducir valores y luego ejecutar alias en iterm2?

Acabo de conocer la opción de alias y tengo este código que descargaría cualquier vid de youtube en la más alta calidad. Pero el problema es que tengo que introducir la url del video de youtube. ¿Hay alguna forma de crear un alias para ello? He intentado alias youtube="youtube-dl -f best 'link'" pero toma link como url ya que no he dado una variable. ¿Hay alguna forma de obtener una entrada y guardarla en la variable link.

2voto

yoliho Puntos 340

Los alias no son establecidos por la terminal o iTerm, son parte de su shell.

Por defecto en BigSur es zsh, para la mayoría de las otras versiones anteriores el shell por defecto era bash

Los alias no toman un parámetro, sólo hacen un reemplazo de texto del alias por el texto a la derecha del = Si necesitas hacer cosas con parámetros, entonces mira las funciones en los manuales del shell.

En cuanto a tu caso un alias funcionará ya que el alias se expande y luego se le pasa el resto de la línea de comandos.

Un ejemplo sencillo es obtener una lista larga de archivos

alias ll='ls -l'

Llama a esto por ll ~

y se obtiene el mismo resultado que ls -l ~

Creo que en tu caso sólo necesitas

alias youtube='youtube-dl -f best '

A continuación, escriba (donde enlace es la URL que desea)

youtube link

1voto

Basándome en lo que has descrito, puedo sugerir dos opciones más:

  1. alias youtube="youtube-dl -f best '$1'" ($1 - es el primer argumento que sigue a su comando, si tiene que usar comillas simples)
  2. youtube() { echo -n "YouTube link: " ; read _url ; youtube-dl -f best '$_url' ; } (función de comandos múltiples con una línea de aviso)

O si no tienes que usar comillas ni nada complicado, entonces qué mmmmmm publicado será su solución.

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