登录ubuntu后执行前面的命令,就能加载无线驱动,但是可不可以登录的时候自动运行呢?省得每次登录的时候都要敲命令,而且还要切换root用户才能执行相关命令,这样比较麻烦。
可以写一个脚本,把那些命令全部写在脚本里面,然后在.profile文件中添加执行这个脚本的语句,这样就OK了,
1.以root用户,新建个脚本文件:vi winless.sh
内容如下:
#!bin/sh
cd hybird_wl
make clean
make
rmmod b43
rmmod ssb
rmmod wl
modprobelib80211
insmod wl.ko
2.将winless.sh文件赋suid 以及执行权限
chmodgu+s winless.sh
chmod 777 winless.sh
3.在.profile文件中添加一条语句即可.
echo123456 | sudo -S ./winless.sh
注:这里123456是密码,参数-S专门为执行sudo命令的时候要输入密码而准备的,表示标准输入。
近期在进行一个自动化脚本时,由于需要在非root 用户下执行,即:sudo -A command/XXX.sh
此时在正常情况下当脚本执行到sudo时需要手动向控制台输入密码,这里利用环境变量SUDO_ASKPASS来实现免密码执行
1、创建一个密码文件,如_PWD_TEMP_
vim _PWD_TEMP_
写入内容:
#! /bin/bash
echo yourpassword
2、在脚本中执行sudo 命令之前引入环境变量SUDO_ASKPASS
export SUDO_ASKPASS=./_PWD_TEMP_
3、执行命令
sudo -A command/XXX.sh