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.
Respuestas
¿Demasiados anuncios?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
Basándome en lo que has descrito, puedo sugerir dos opciones más:
alias youtube="youtube-dl -f best '$1'"
($1 - es el primer argumento que sigue a su comando, si tiene que usar comillas simples)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.