Linux 기반 라우터를 원격으로 구성하는 스크립트를 작성 중입니다. 첫 번째 단계는 원하는 장치의 일련번호를 얻는 것입니다.
- 일련번호와 동일한 이름의 폴더를 생성합니다.
- 일련번호가 포함된 텍스트 파일 만들기
- 이 일련 번호가 포함된 줄을 구성 파일에 넣습니다.
작업 2가 가장 간단합니다. mnf_info -s > sn.txt
하지만 실제 이름을 추출하여 이를 전달하려면 어떻게 해야 합니까 mkdir
?sed
그리고 아무런 상호작용 없이 원격으로 비밀번호를 변경하는 방법을 알고 있나요? 해당 장치에 예상되는 명령이 없으므로 이 작업을 수행해야 합니다. 어떤 아이디어가 있나요?
미리 감사드립니다
크시슈토프
답변1
명령의 출력을 저장할 수 있습니다 variable=$(command)
. 귀하의 경우에는 다음과 같습니다.
serial="$(mnf_info -s)"
mkdir "$serial"
echo "$serial" > "$serial"/sn.txt
이제 로컬에 저장된 스크립트를 원격으로 실행하려면 위의 줄을 (로컬로) 저장한 myscript
다음 다음을 사용할 수 있습니다.
ssh [email protected] "bash" <myscript
답변2
ssh $i <<'EOF'
ser=$(mnf_info -s)
mkdir $ser
mnf_info -s >sn.txt
sed -i '1i $ser' configfile
EOF
Here we saving serial number in variable and later using to creating directory and add variable content in config file
This may help you