Как сохранить команду, а также вывод этой команды в файл

sudo mdadm --ensamblar --escanear (si hubiera sido parte de una configuración RAID1 -). Entonces un dispositivo /dev/md??? debería aparecer.

De lo contrario, utilice

gato /proc/mdstat

tal vez el RAID ya esté activo.

3
31.07.2019, 10:04
3 ответа

Вы можете сохранить команду в массиве, распечатать и запустить ее:

# Define command
mycmd=(some_command -o "some option")

# Print command
echo "${mycmd[@]}"

# Run command
"${mycmd[@]}" 

См. также.

Обратите внимание, что при выводе команды кавычки будут удалены.


Поместите это в функцию:

lognrun(){ echo "$@"; "$@"; }
lognrun some_command -o "some_option" > logfile
1
27.01.2020, 21:29

Используйте подоболочку сset -x:

$ ( set -x; printf '%s\n' a b "c d"; ) 2>&1 | tee logfile
+ printf '%s\n' a b 'c d'
a
b
c d
1
27.01.2020, 21:29

Как насчет использования команды 'script' -?

$ script logfile
$ somecommand
lots of command output...

Все, что вы делаете в оболочке, будет записываться в лог-файл. Остановить с помощью Ctrl+D.

Если вам это нужно только для одной команды, вы можете использовать опцию ' -c' -:

-c, --command command
    Run the command rather than an interactive shell.
    This makes it easy for a script to capture the output of a program
    that behaves differently when its stdout is not a tty.
1
27.01.2020, 21:29

Теги

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