小编Rob*_*t K的帖子

如何将 STDIN 中的多行读取到变量中?

我一直在谷歌上搜索这个问题无济于事。我正在工作中自动化构建过程,我要做的就是获取版本号和可能是多行的构建的微小描述。它运行的系统是 OSX 10.6.8。

我已经看到了从使用 CAT 到根据需要处理每一行的所有内容。我不知道我应该使用什么以及为什么。

尝试

read -d '' versionNotes
Run Code Online (Sandbox Code Playgroud)

如果用户必须使用退格键,则会导致输入乱码。也没有终止输入的好方法,因为 ^D 不会终止,而 ^C 只是退出进程。

read -d 'END' versionNotes
Run Code Online (Sandbox Code Playgroud)

有效...但如果需要退格键,输入仍然会出现乱码。

while read versionNotes
do
  echo "  $versionNotes" >> "source/application.yml"
done
Run Code Online (Sandbox Code Playgroud)

没有正确结束输入(因为我来不及查找空字符串的匹配项)。

scripting bash

32
推荐指数
4
解决办法
9万
查看次数

Apache2 虚拟主机损坏;在子域上显示默认的 index.html,但在 www.subdomain 上显示正确的内容

我将 Linode 配置为带有 Apache 2.2.14 的 Ubuntu 10.04.2 Web 服务器。

我总共有 4 个站点,都定义/etc/apache2/sites-available为虚拟主机。所有站点几乎都是相同的配置克隆。除了我上次的所有网站都成功运行。

default:      (www.)exampleadnetwork.com
              (www.)example.com
          reseller.example.com
trouble:   client1.example.com
Run Code Online (Sandbox Code Playgroud)

当我访问该client1.example.com网站时,我不断收到此页面:

有用!

这是该服务器的默认网页。

Web 服务器软件正在运行,但尚未添加任何内容。

在我的ports.conf文件中,我将 NameVirtualHost 正确设置为端口 80 上的 IP 地址。

如果我访问“www.sub.example.com”别名,网站就可以工作了!如果我在没有 www 的情况下访问它,我会看到上面发布的“It Works”摘录。甚至apache2ctl -S显示我的 vhost 文件解析正确并添加到混合中。

我的vhost配置文件如下:

<VirtualHost 127.0.0.1:80>
    ServerAdmin webmaster@example.com
    ServerName  client1.example.com
    ServerAlias client1.example.com www.client1.example.com
    DocumentRoot    /srv/www/client1.example.com/public_html/
    ErrorLog    /srv/www/client1.example.com/logs/error.log
    CustomLog   /srv/www/client1.example.com/logs/access.log combined

    <directory /srv/www/client1.example.com/public_html/>
        Options -Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

其他网站是以下网站的变体:

<VirtualHost 127.0.0.1:80> …
Run Code Online (Sandbox Code Playgroud)

virtualhost apache-2.2

5
推荐指数
1
解决办法
5731
查看次数

标签 统计

apache-2.2 ×1

bash ×1

scripting ×1

virtualhost ×1