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