Estoy tratando de enumerar el contenido de toda la base de datos apropos( makewhatis) con el siguiente comando, pero sigo obteniendo Permission denied.
sudo -s apropos . > touch thedatabase
-bash: touch: Permission denied
sudo -s apropos . > thedirectory
thedatabase: Permission denied
apropos . > touch thedatabase
Todos estos resultados en alguna forma de Permission Denied. ¿Cómo puedo evitar esto o cuál es la forma más elegante de hacerlo?
@blm Primero de ustedes tenía razón, mi problema era que estaba en un directorio no autorizado. Para ser claros, ¿la redirección es
—
inthenameofmusik
>correcta? ¿Y cómo tiene sentido tu ejemplo de poner thedatabase antes > touch ? No creo tener una comprensión sólida del orden en el que pueden estar estas cosas. ¡Gracias!
Mi ejemplo con thedatabase before> no es realmente un ejemplo, es lo que está haciendo su primer ejemplo. Mientras que las redirecciones normalmente se ponen al final de un comando, que no tienen que ser, por ejemplo,
—
blm
echo hello >echo.outes la forma en la que normalmente se escribe un comando hacerse eco de una línea que contiene "hola" a la echo.out archivo, pero echo >echo.out helloy >echo.out echo hellohacer lo la misma cosa. Entonces, en su primer ejemplo, el shell ve > touchy trata eso como una redirección al toque del archivo, luego, cuando ve thedatabase, se trata como un argumento de comando más.
impresionante, eso tiene mucho sentido. muchas gracias.
—
inthenameofmusik
sudo -s apropos . thedatabase > touch, de manera similar, el último ejemplo. Tal vez solo intenteapropos . >/tmp/ap.out, debería poder escribir en / tmp.