启动时获取用户输入

启动时获取用户输入

我有一个脚本需要在安装后首次启动时运行,该脚本会询问用户主机名并设置新主机名。最好的方法是什么?现在我这样做:

rc.本地

openvt -s -w /opt/post_install_script

安装后脚本:

#!/bin/bash

NEW_HOSTNAME="$1"
echo -n "Please enter new hostname: "
read NEW_HOSTNAME < /dev/tty
doing other stuff..

它在 Ubuntu 12 上运行良好,但不会等待用户输入并继续在 Ubuntu 16 上启动。

我已经阅读过有关 systemd systemd-ask-password 的信息,但它也不起作用。

有任何想法吗?

答案1

创建文件/etc/systemd/system/renamepc.service

[Unit]
Description=Hostname configuration
DefaultDependencies=no
Before=nss-user-lookup.target

[Service]
Type=oneshot
ExecStart=/opt/script

[Install]
WantedBy=multi-user.target

创建文件/选择/脚本

#!/bin/bash       
NEW_HOSTNAME=$(systemd-ask-password "Please enter new hostname: " --echo)
change hostname code...    

更改脚本权限chmod u+x /opt/test

相关内容