Почему каталог /opt редко используется? [duplicate]

Podrías usar la sustitución de procesos:

less -f <(svn diff this) <(svn diff that)

Pero eso es difícil de usar en un bucle. Probablemente sea mejor usar archivos temporales:

#!/bin/bash
dir=$(mktemp -d)
outfiles=()
IFS=$'\n'
set -f 
for file in $(svn status | \grep ^M | sed 's/M       //') ; do
    outfile=${file#.}             # remove leading dot (if any)
    outfile=${outfile//\//__}     # replace slashes (if any) with __
    svn diff "$file" > "$dir/$outfile";
    outfiles+=("$dir/$outfile")   # collect the filenames to an array
done
less "${outfiles[@]}"
rm -r "$dir"

Lo anterior intenta mantener los nombres de archivo visibles en los nombres de los archivos temporales, con algo de limpieza para barras y puntos iniciales. (En caso de que obtenga rutas como ./foo/bar. No recuerdo cómo svngenera los nombres de los archivos, pero de todos modos...)

La matriz está ahí para mantener el orden, aunque como dijo @Kusalananda, podríamos simplemente hacer "$dir"/*en su lugar, si el orden no importa. set -fy IFS=$'\n'en caso de que alguien cree nombres de archivo con caracteres globales o espacios en blanco.

Por supuesto, podríamos simplificar un poco el script y crear, digamos, archivos temporales numerados en su lugar.

-4
10.04.2019, 01:09
1 ответ

Примеры программ, которые устанавливаются в /opt по умолчанию:

4
28.01.2020, 05:20

Теги

Похожие вопросы