在系统关闭(重新启动...)时,我需要运行脚本,要求用户提供一些操作:
#!/bin/bash
tty
echo ARE YOU SURE?:
read test
echo $test
[Unit]
Description= Minetest server
[Service]
StandardInput=tty-force
ExecStart= /bin/true
ExecStop=/home/user/test.sh
Type=oneshot
StandardInput=tty
StandardOutput=tty
TTYPath=/dev/tty8
TTYReset=yes
TTYVHangup=yes
RemainAfterExit=true
如果我将其作为ExecStop执行,则输出如下:
not a tty
INPUT TEST:
不要求输入
怎么了?
答案 0 :(得分:0)
ExecStop由另一个脚本调用,而不是从您的控制台调用,因此没有tty设备连接 并且读取的内置命令要求输入是tty设备
btw,要求用户通过脚本做出贡献是脆弱且不可控制的