如何在发布时将参数/输入传递给Bash命令

时间:2017-12-01 05:30:46

标签: linux bash debian

我想自动初始安装虚拟专用服务器(Debian)。为此,我正在编写一个bash脚本,该脚本发出许多命令来设置日期,时区和许多其他类似的东西。以下是其中之一:

sudo dpkg-reconfigure tzdata

对于上述命令,我想首先进入亚洲,然后进入加尔各答。 在发出命令时是否可以给出类似下面的内容?

printf "Asia\nKolkata" | sudo dpkg-reconfigure tzdata

每次执行命令时,我们是否可以采取上述操作直接为所有命令传递输入,而不是提供输入?这样我们就可以运行一次bash脚本,稍后再回来看看服务器是否准备好所有必要的软件。

请帮忙。

1 个答案:

答案 0 :(得分:2)

对于那个特例,我不会尝试自动<?xml version="1.0" encoding="utf-8"?> <com.google.android.flexbox.FlexboxLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/v_container" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="16dp" app:alignContent="stretch" app:alignItems="stretch" app:flexWrap="wrap"> </com.google.android.flexbox.FlexboxLayout> ,但我会做相应的操作(填充dpkg-reconfigure tzdata文件),更容易自动化

/etc/timezone

顺便说一下,您可以考虑使用TCL expect,但我会尝试自动化配置的结果

也许您可以考虑为自己的Debian衍生物制作自己的 echo Asia/Kolkata > /etc/timezone 图像。也许你需要像Docker这样的集装箱化。

或者只识别.iso下需要配置的文件(其中没有那么多)。你甚至可以让你的安装填充它们的Debian .deb package(你想要的默认值相同)。

另见this answer(可能是你真正需要的)。