我正在编写一个脚本来远程配置基于linux的路由器。第一步是获取我想要的设备的序列号:
- 创建与序列号同名的文件夹
- 创建一个包含序列号的文本文件
- 将包含此序列号的行放入配置文件中
任务 2 是最简单的 - mnf_info -s > sn.txt
,但是我如何提取实际名称并将其传递给 do 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