for循环后bash不执行命令

时间:2018-06-10 09:01:44

标签: bash user-input stdin

我为我的实用程序集编写了一个小的安装脚本:

#!/bin/bash

set=(move-volume move-db dmove-copy-id dmove-config dmove-nginx-proxy)

for item in ${set[*]}
do
    wget -q -nv https://raw.githubusercontent.com/pavelsr/dmove/master/$item -O /usr/local/bin/$item
    chmod +x /usr/local/bin/$item
done

dmove-config
dmove-copy-id
echo "Setup complete! Do not forget to dmove-copy-id if you updated config"

运行安装脚本,如:

curl -sSL https://raw.githubusercontent.com/pavelsr/dmove/master/install-dmove | sudo bash

但它只是下载文件而不会在done之后执行代码。

可能出现什么问题?

1 个答案:

答案 0 :(得分:2)

替换

dmove-config

dmove-config </dev/tty

强制从tty读取dmove-config,而不是等待curl命令中的数据。