Вы можете заменить это:
{print $1-t,$2}
с этим:
{if ($2>=0) print $1-t,$2}
или,
$2 >= 0 { print $1 - t, $2 }
Если у вас есть пароль в буфере обмена, используйте xsel
или xclip
или pbpaste
. См. Любая функция, копирующая из буфера обмена в переменную в Bash?
В противном случае, при условии, что секретное значение не содержит символов новой строки (или каких-либо управляющих символов или символов, которые вы не можете ввести):
printf 'Password: '
IFS= read -r VAR_NAME
Многие оболочки позволяют передать приглашение непосредственноread
:
IFS= read -p 'Password: ' -r VAR_NAME
Если вы не хотите, чтобы секрет был виден на вашем терминале, см. Чтение паролей без отображения на экране в сценариях Bash . Обратите внимание, что даже без этого пароль нигде не будет сохранен после очистки терминала.