2012-11-01 3 views
1

OpenWRT 라우터에서 실행할 ASH 스크립트를 작성하려고합니다.OpenWRT ASH 스크립트

라우터에 인증을 시도 할 때 로그인 페이지를 표시하는 nodogsplash가 설치되어 있습니다. 그래서

ndsctl password newpassword 

나는 cron 작업과 같은 설정은 변경하기 위해 하루에 한 번 실행 할 수있는 스크립트를 작성하는 것을 시도하고있다 :

nodogsplash는 암호를 변경할 수있는 명령 줄 유틸리티와 함께 ​​제공 비밀 번호를 새로운 무언가로, 그러나 나는 그것을 올바르게 출력하는 데 어려움을 겪고 있습니다. 내 스크립트 기압 : 에코의 시작에 암호를 척 빈에 암호를 설정하는 것

miqM2Ah6Password set to . 

:이 프로그램을 실행할 때

#!/bin/ash 
local randompassLength 
local pass 
randompassLength=8 
pass=</dev/urandom tr -dc A-Za-z0-9 | head -c $randompassLength 
ndsctl password "$pass" 

내가 출력을 얻을.

내가 여기서 잘못하고있는 아이디어가 있습니까?

답변

1

당신이 놓치고있는 명령 치환 :

pass=$(</dev/urandom tr -dc A-Za-z0-9 | head -c $randompassLength) 

또는 사용하여 역 인용 부호 :

pass=`</dev/urandom tr -dc A-Za-z0-9 | head -c $randompassLength`