Пишу небольшой скрипт, для которого надо сохранять две выбранные пользователем при предыдущих запусках скрипта опции, а при следующих запусках их восстанавливать.
Решил воспользоваться самым простым методом. Создаем рядом со скриптом 2 файла, и туда сохраняем значения опций:
echo "$OPT1" > ./option1
echo "$OPT2" > ./option2
Некрасиво, но просто.
При запуске скрипта, читаем опции обратно:
OPT1=`cat ./option1`
OPT2=`cat ./option2`
На всякий случай лучше обрезать лишние пробелы или "пустые" символы типа TAB или переводов строки. Во всяком случае, так рекомендуют во всех руководствах по программированию, и обычно, в каждом современном языке, в некотором виде есть функция
trim()
, которая обрезает начальные и конечные пробелы.Оказывается, что в bash можно обрезать не только начальные пробелы, но даже начальные и конечные пустые строки. Причем решается это одной командой.
Возьмем, например, такой тестовый файл: На PasteBin
Если мы просто выведем его на консоль с помощью команды
cat "trimtext.txt"
, то получится следующее:smallwolfie@wolfschanze:~/myfiles/test/trim# ./testtrim
Trim()
smallwolfie@wolfschanze:~/myfiles/test/trim#
т.е. со всеми пробелами и пустыми строками.
Самая простая реализация
trim()
в shell/bash пропустить вывод команды через xargs
без параметров. xargs
, которая требует после себя команды, без указания команды все равно что echo
без параметров. А echo
без параметров все пустое обрезает.#!/bin/bash
cat "trimtext.txt"|xargs
Вывод:
./testtrim
Trim()
Это репост с сайта http://tolik-punkoff.com
Оригинал: http://tolik-punkoff.com/2020/02/08/anal