我正在尝试编写一个ASH脚本以便在我的OpenWRT路由器上运行。
我已经在它上面安装了nodogsplash,当你第一次尝试向路由器认证时,它会显示一个登录页面。
nodogsplash附带了一个命令行工具,允许您更改密码:
ndsctl password newpassword因此,我正在尝试编写一个脚本,我可以将其设置为cron作业,以便每天运行一次,以便将密码更改为新的密码,但是我正在努力使其正确输出。我的脚本atm:
#!/bin/ash
local randompassLength
local pass
randompassLength=8
pass=</dev/urandom tr -dc A-Za-z0-9 | head -c $randompassLength
ndsctl password "$pass"当我运行这个命令时,我得到了输出:
miqM2Ah6Password set to .它似乎在回声开始时丢弃了密码,并将密码设置为空。
你知道我做错了什么吗?
发布于 2012-11-14 12:06:05
您缺少命令替换:
pass=$(</dev/urandom tr -dc A-Za-z0-9 | head -c $randompassLength)或者使用反引号:
pass=`</dev/urandom tr -dc A-Za-z0-9 | head -c $randompassLength`https://stackoverflow.com/questions/13175493
复制相似问题