Сохраните где-нибудь файл /root/addblock.sh
. И замените инструкцию:
sed -n "/OLD=/ cOLD=${NEW}" /root/addblock.sh
этой инструкцией:
sed -i.bak "s/OLD=/ cOLD=${NEW}/" /root/addblock.sh
Опция -i
используется для внесения изменений непосредственно в файл .bak
. ] будет использоваться для сохранения исходного содержимого /root/addblock.sh
в /root/addblock.sh.bak
.
s в s/OLD=/cOLD=${NEW}/
— это sed
команда, которая используется для замены, без нее sed
будет работать как grep
.
Вы можете просмотреть переменные, переданные вашему скрипту, следующим образом:
#!/bin/bash
echo "First parameter: $1"
echo "Second parameter: $2"
echo "And so on...."
echo "Number of parameters: $#"
Таким образом, для вашего примера возможен следующий код:
Увеличить : ./ inc_script.sh / path / в / файл 5
#!/bin/bash
AMOUNT=$(cat $1)
echo $(($AMOUNT + $2)) > $1
Уменьшить : ./ dec_script.sh / путь / к / файлу 5
#!/bin/bash
AMOUNT=$(cat $1)
echo $(($AMOUNT - $2)) > $1
С помощью $ ()
вы можете выполнить команду в подоболочке. В нотации $ (())
вы можете выполнять вычисления в bash.