#############################################
#!/bin/ksh
#该段脚本实现输入密码并且用*号显示输入字符,
#输入回车键终止输入密码。该代码在SCO 5.05上
#KSH下已经调试通过。
#河南 平顶山 王向宇 2005.05.11
#############################################
#该函数实现无缓冲输入一个字符,并传给位置参数
getchar()
{
#设置无缓冲输入模式
stty raw
#设置输入不回显
stty -echo
#将该字符传送给位置参数
eval =`dd if=/dev/tty bs=1 count=1 2> /dev/null`
#恢复回显
stty echo
#恢复原终端输入模式,也可用命令:stty sane实现同样功能
stty cooked
}
clear
#将光标定位到15行10列
tput cup 15 10
echo -n "请输入密码:\c"
#初始化光标位置
CURPOS=20
while true
do
#光标向前移动一列
CURPOS=`expr $ + 1`
getchar char
tput cup 15 $
echo "*"
if [ "$" = "^M" ]
then
break
else
PWDSTR=$$
fi
done
echo "你输入的密码是: $"
分享到:
相关推荐
- **为expect脚本定制参数的shell脚本**:如何编写shell脚本来定制expect脚本的行为。 - **让telnet的expect脚本自动执行**:介绍了一个示例,演示如何自动化telnet会话。 #### 第18章 用户输入超时 - **手动实现...
### Shell脚本中实现把输入的密码转换为*(星号)的方法 #### 知识点一:背景介绍与需求分析 在实际的应用场景中,我们经常需要通过命令行工具来收集用户的敏感信息,比如登录密码。直接在命令行中显示用户输入的...
通过编写shell脚本,可以实现多种自动化操作,极大地提高工作效率。 1. **自动化批量初始化系统**:包括设置SELinux策略、开启或关闭防火墙、安装常用工具如wget、lftp等,以及调整系统时区和主机名等。 2. **...
它接收用户的输入,并将这些命令传递给操作系统进行处理。 - **语言分类**: - **编译型语言**:例如 C、C++ 和 Go。这类语言在运行前需要通过编译器将源代码转换成机器码,然后才能执行。 - **解释型语言**:例如...
通过计算已完成任务与总任务的比例,并将其转换为进度条的长度来显示。 3. **实时网络流量监控**:利用`ifconfig`命令获取eth0网卡的发送数据包数量,结合`sleep`命令定期执行,可以实时显示网络流量。通过比较每次...
- **脚本编程**:Shell 可以编写脚本来执行一系列命令,这些脚本可用于自动化任务。 #### 二、常用 Shell 命令 Shell 提供了大量的内置命令和外部命令,用于进行文件管理、系统监控等任务。以下是一些常用的 ...
不过,由于它生成的数据包含所有可能的ASCII字符,因此如果不加以筛选,直接将其用作密码可能会包含一些不易识别或不可打印的字符,这显然不符合实际需求。 **2. 实现步骤** ```bash #!/bin/bash # Author: 丁丁...
- **文本转换**: 将一种格式的文本转换为另一种格式。 - **格式化**: 使用`fmt`等工具格式化文本。 - **特殊用途**: 如使用`col`处理表格数据。 **4.7 排序 (Chapter 22: Sorting)** - **排序命令**: 使用`sort`...
### Unix基础知识与Shell编程 #### 1. Unix环境介绍 Unix是一种多用户、多任务的操作系统,被广泛应用于服务器、超级计算机和个人电脑中。它以其稳定性、安全性、灵活性著称,成为了开发人员和系统管理员的理想...
- **Shell编程**:编写复杂的Shell脚本来实现自动化任务。 - **shell脚本介绍**:了解Shell脚本的基本结构和组成部分。 - **条件测试**:使用条件语句控制脚本流程。 - **控制流结构**:学习如何使用循环和其他控制...
- 利用Shell脚本自动化日常任务,如时间密码验证、日期计算和定时备份,可以提高效率和准确性。 8. **实验学习价值** - 这些实验帮助学生理解Shell脚本的基础,以及如何在实际场景中应用这些知识,例如安全验证、...
通过`grep`命令验证输入日期的格式是否正确,再使用`date`命令将日期转换为Unix时间戳,从而计算日期差。这展示了如何在Shell中进行基本的用户交互和日期运算。 实验三:定时备份PNG文件 选做实验要求编写一个Shell...
`tr`命令用于字符转换和删除,常用于文本处理。 在实践过程中,了解了两个特殊的文件:`/dev/null`和`/dev/tty`。前者用于丢弃数据,后者在程序需要读取用户输入时很有用,如密码输入场景,可以使用`stty`命令来...
例如,我们可以关闭输入的回显(使得密码输入时不显示字符):`stty -echo`,或者在完成后重新打开回显:`stty echo`。这对于创建安全的登录脚本非常有用。 深入学习stty,我们需要理解以下概念: 1. **Cooked模式*...
- **用途**:将二进制数据转换为ASCII文本格式。 - **应用场景**:安全传输、数据编码。 29. **basename (打印目录或者文件的基本名称)** - **用途**:去除文件路径中的目录部分。 - **应用场景**:文件名处理...
本文将介绍一个名为“Linux_base_shell.sh”的Shell脚本,它包含了创建文件、发送邮件以及文件操作等实用功能。 一、发送邮件功能 在脚本中,`email_attach`函数用于通过邮件附件发送文件。它使用`mutt`命令来实现...
- **编码转换**:`iconv`用于转换文件编码,如将GBK编码的文件转换为UTF-8编码:`iconv -f gb18030 -t utf-8 original_file.txt > new_file.txt`。 - **MD5校验码**:`md5sum`用于计算文件的MD5校验码,确保文件完整...
在Linux操作系统中,**Shell**是用户与系统交互的接口,它是一个命令解释器,将用户的输入转换成操作系统可以理解的指令。**Bash**,全称Bourne-Again SHell,是目前最流行、使用最广泛的Linux Shell,它是一个开源...
49. **模式转换** - 在Vim中使用`i`进入插入模式,使用`ESC`回到命令模式。 50. **添加执行权限** - 使用`chmod +x script.sh`。 51. **第一个进程** - 进程ID为1,通常是`init`或`systemd`进程。 52. **进程...