¿Cómo reconstruir mi RUTA en script?

¿Cómo reconstruir mi RUTA en script?

Extraje mi RUTA a un archivo y la enumeré como tal:

/bin
/usr/bin
/usr/local/bin
.
/usr/lib/oracle/xe/app/oracle/product/10.2.0/client/bin
/usr/java/default/bin
/usr/kerberos/bin
/usr/local/bin
/bin
/usr/bin

Ahora deseo extraerlo de este archivo y restaurarlo como una línea en un archivo nuevo con dos puntos entre cada directorio. Recibo un archivo vacío. ¿Pueden mostrarme qué estoy haciendo mal, por favor? Este es el comando que estoy ejecutando para realizar la restauración al archivo:

echo -e ${bash_list tr \\ :\n} > bash_PATH

Respuesta1

trtoma entrada de STDIN (entrada estándar). Prueba esto:

$ tr '\n' ':' > output_file  < input_file

Ha utilizado una sintaxis para la expansión de parámetros de Bash pero está utilizando un archivo como parámetro que no es correcto ya que el parámetro solo puede ser variable o un parámetro de shell especial.

Para hacer lo que estás intentando usar solo bash:

$ var="$(<bash_list)"
$ echo "${var//$'\n'/:}" > bash_PATH

Ahora bash_PATHel archivo contendrá:

/bin:/usr/bin:/usr/local/bin:.:/usr/lib/oracle/xe/app/oracle/product/10.2.0/client/bin:/usr/java/default/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin

También tenga en cuenta que tiene nombres de directorio duplicados en "$PATH" (espero que sean intencionales por ejemplo), para eliminar los duplicados sin cambiar el orden, puede intentareste.

información relacionada