Puedes abrir un PDF como una variable Bash (expresada como una ruta al archivo) de esta manera.
-
Establece tu variable:
pdf=/path/to/44592-linux-restricted-shell-bypass-guide.pdf
-
Abre el archivo de esta manera:
open "$pdf" -a Preview
Sin embargo, su ejemplo indica que el archivo no existe en su sistema de archivos. Si desea abrir un flujo de datos sin procesar almacenado en una variable, le recomiendo que haga un eco de su variable y la canalice a open
usando la opción -f
como esta.
-
Defina su variable:
pdf=$(wget -qO- https://www.exploit-db.com/docs/english/44592-linux-restricted-shell-bypass-guide.pdf)
-
Abra los datos sin procesar como una secuencia desde la entrada estándar:
echo $pdf | open -f -a Preview
Explicación:
Si almacena la salida de wget -qO- …
como una variable, en lugar de descargar el archivo en su sistema de archivos, open
no sabrá qué hacer, ya que le está pasando los datos sin procesar del archivo en lugar de la ruta al archivo. . En man open
"archivo" se refiere a un archivo que se puede abrir para la aplicación dada, la variable en su ejemplo no es eso. La opción -f
es útil en este escenario, ya que su método de configuración de la variable implica almacenar la secuencia de archivos completa, que no se interpretará como un archivo por open
, y por lo tanto, solo se puede abrir como una secuencia de archivos.