当前位置:首页 » 编程软件 » shell脚本登录

shell脚本登录

发布时间: 2025-10-03 04:33:49

㈠ 在linux下编写shell脚本,判断当前登录用户是否为学号命名的用户

#!/bin/bash

id="123"

[ `whoami` = "$id" ] && echo 'yes' || echo 'no'

例如:

sh check.sh

#!/bin/sh

echo "Input username:"

read username

if grep -q $username /etc/passwd

then

awk -F: /$username/'{print $7}' /etc/passwd

else

echo "$1 not local user"

fi

(1)shell脚本登录扩展阅读:

Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。它为用户提供了一个向Linux发送请求以便运行程序的接口系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。 Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。

㈡ shell脚本expect自动登录后,怎么又自动退出了

1.安装expect
需要先安装tcl:apt-get install tcl
apt-get install expect
2.expect使用
2.1一个简单的输入密码操作
#!/usr/bin/expect
set timeout 100
set password "123456"
spawn sudo rm -rf zzlogic
expect "root123456"
send "$password\n"
interact
说明:
第一行#!/usr/bin/expect表示使用expect的shell交互模式
set是对变量password赋值
set timeout 100:设置超时时间为100秒,如果要执行的shell命令很长可以设置超时时间长一些。expect超过超时时间没有监测到要找的字符串,则不执行,默认timeout为10秒
spawn在expect下执行shell脚本
expect对通过spawn执行的shell脚本的返回进行判断,是否包含“”中的字段
send:如果expect监测到了包含的字符串,将输入send中的内容,\n相当于回车
interact:退出expect返回终端,可以继续输入,否则将一直在expect不能退出到终端
2.2expect的命令行参数
[lindex $argv n]获得index为n的参数(index从0开始计算)
$argc为命令行参数的个数
[lrange $argv 0 0]表示第一个参数
[lrange $argv 0 3]表示第1到第3个参数
例如scp_service.sh文件,可以./scp_service.sh -rm来执行,这时是赋值了一个参数
set option [lindex $argv 0](获得第一个参数存到变量option中,参数是的index是从0开始计算的)
2.3if...elif...else...
expect支持if语句,
if {条件1} {
条件1执行语句
} elif {条件2} {
条件2执行语句
} else {
其他情况执行语句
}
说明:
1.if的条件用{}来包含条件
2.if和后面的{}必须有空格隔开
3.两个花括号之间必须有空格隔开,比如if {} {},否则会报错 expect:extra characters after close-brace
3.使用{来衔接下一行,所以if的条件后需要加左花括号{
4.else不能单独放一行,所以else要跟在}后面
2.4 expect {},多行期望,匹配到哪条执行哪条
背景:有时执行shell后预期结果是不固定的,有可能是询问是yes/no,有可能是去输入密码,所以可以用expect{}
花括号内放多行语句,从上至下匹配,匹配到哪个expect执行哪句。
3.shell中调用expect来实现登录
我是通过在shell脚本中执行expect脚本的方式来实现的。当然可以将shell中定义的一些变量传递给expect脚本作为参数输入。

热点内容
中标麒麟编译qt4龙芯 发布:2025-10-03 07:47:20 浏览:423
java数据结构有哪些 发布:2025-10-03 07:42:21 浏览:569
android怎么更新 发布:2025-10-03 07:37:28 浏览:762
库文件编译错误不编译没事 发布:2025-10-03 07:12:50 浏览:52
c使用rsa加密 发布:2025-10-03 07:03:12 浏览:58
我的世界手机版制作服务器 发布:2025-10-03 06:40:19 浏览:178
小兵解压密码 发布:2025-10-03 06:31:33 浏览:628
怎样加密手机程序 发布:2025-10-03 06:23:46 浏览:356
linux脚本文件执行权限 发布:2025-10-03 06:14:37 浏览:694
pc网易版我的世界怎么进入服务器 发布:2025-10-03 06:11:04 浏览:476