Добавление новых устройств в mdadm raid10 - новое устройство имеет меньше секторов

Функция для создания исполняемого сценария оболочки из переданного по трубопроводу ввода:

pipe2script() { touch "$1" ; chmod +x "$1" ; \
                echo '#!'"$(which ${2:-bash})"  > "$1" ; cat >> "$1" ; }

Используйте pipe2script для передачи двух строк текста в foo.sh:

printf 'echo hello world\necho bye\n' | pipe2script foo.sh

Это выводит новый исполняемый файл, foo.sh:

$ ls -log foo.sh 
-rwxrwxr-x 1 38 Mar 18 09:05 foo.sh

Выполнение cat foo. sh показывает:

#!/bin/bash
echo hello world
echo bye

Запуск:

./foo.sh

Выход:

hello world
bye

Функция pipe2script по умолчанию использует bash, но она может принимать в качестве второго аргумента любое другое имя оболочки, т.е. bash. например, dash, zsh, ksh93, python и т. д. Пример использования команды fish оболочки math:

printf 'math "99^33"\n' | pipe2script foo.fish fish

Выполнение cat foo.fish показывает:

#!/usr/bin/fish
math "99^33"

Вывод ./foo.fish:

717730532598275105894510914059816191752829524684539601273450723299

Редактирование копии скрипта:

sed '2,${s/.*/echo & | jethro/e;s/ / "/;s/$/"/}' foo.sh | pipe2script foojc.sh

Вывод при выполнении:

$ ./foojc.sh 
howdy world
y'all come back now, heah?
5
28.03.2016, 15:00
0 ответов

Теги

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