Возможно ли сохранить последнее введенное значение переменной пользователем в самом скрипте bash, чтобы я мог повторно использовать значение в следующий раз при повторном выполнении?.
Например:
#!/bin/bash
if [ -d "/opt/test" ]; then
echo "Enter path:"
read path
p=$path
else
.....
........
fi
Приведенный выше скрипт - это просто пример, который я хотел привести (что может быть неверно). Возможно ли, если я захочу сохранить значение p
навсегда в самом скрипте, чтобы я использовал его где-нибудь позже сценарий, даже если сценарий выполняется повторно?
EDIT
Я уже использую sed
, чтобы перезаписать строки в скрипте во время выполнения, этот метод работает, но, как уже говорилось, это вовсе не хорошая практика. Замена строк в том же файле, как сказано в ответе ниже, намного лучше, чем то, что я использую, как показано ниже:
...
....
PATH=""; #This is line no 7
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )";
name="$(basename "$(test -L "$0" && readlink "$0" || echo "$0")")";
...
if [ condition ]
fi
path=$path
sed -i '7s|.*|PATH='$path';|' $DIR/$name;