HowTo hide Password in shell Scripting using Bash

HowTo hide Password in shell Scripting using Bash

Hello Again people,

Today our subject is related to bash shell scripting. and when you are doing complex shell scripting sometimes you need to read the password formstdin, but you don’t want to show the password as its being entered, so how could we do such thing.

We will do it in very simple approach using sttywhich is used mostly in changing or printing terminal line settings in human readable format or in stty readable format”sequence of hex values” , so lets jump to the solution explanation 

1. Save original terminal settings in a variable 

2.  Disable echo from terminal line settings

3. When ever you need to enable terminal line echo use the variable we sat in point 1, and when ever you want to disable echo use point 2

Check below example which represent  password validation function.

#!/bin/bash

pass_check(){           #password validation function

stty_orig=`stty -g`
stty -echo

read -p 'Enter your password : ' password
        echo ""

read -p 'Enter your password once again : ' password1
        stty $stty_orig
        echo ""

if [ $password != $password1 ]
  then
        echo ' password doesnt match '
        pass_check
   else
        stty $stty_orig
fi

}

If you misused stty for echo or for any thing else , the terminal stop responding for your input, or you will notice terminal behaving in a weird way. As a solution usereset command any time to reset stty to its defaults.

I hope that was helpful : ) .


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值