0

ssh経由で.shスクリプトを使用して.htaccessファイルを変更/タッチしようとしています。現在のコードは私が持っているものですが、不適切な構文が原因であると確信しているエラーが発生しています。18 行目で、アポストロフィ、引用符、またはバックスラッシュを適切に構成する必要があると想定しています。

コードは次のとおりです。

#!/bin/sh

touch /home/hessyste/public_html/.htaccess
echo "<IfModule mod_php5.c>
  php_value upload_max_filesize 30M
  php_value post_max_size 30M
  php_value max_execution_time 1200
  php_value max_input_time 1200
  php_value display_errors On
  php_value error_reporting E_ALL

</IfModule>

LimitRequestBody 31457280

<IfModule mod_setenvif.c>
  <IfDefine SSL>
    SetEnvIf User-Agent ".*MSIE.*" \
             nokeepalive ssl-unclean-shutdown \
             downgrade-1.0 force-response-1.0
  </IfDefine>
</IfModule>


RewriteEngine On
RewriteBase /${dir}
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-c-(.*).html$ index.php?cPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-m-(.*).html$ index.php?manufacturers_id=$2&%{QUERY_STRING}
RewriteCond %{REQUEST_URI} !^/cpanel
RewriteRule ^([A-Z0-9\-\_]+)/?$ index.php?ref_name=$1 [NC,L]
RewriteRule contact_page contact_us.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*).php$ index.php [NC,L]" > /home/hessyste/public_html/.htaccess

エラーは次のとおりです: /touch.sh: 19 行目: nokeepalive: コマンドが見つかりません

4

1 に答える 1

0

スクリプトのこの行は二重引用符で囲まれているため、echo コマンドで引用符を閉じます。エコー引用符を一重引用符に変更するか、その行の周りの引用符を一重引用符に変更する必要があります。私があなただったら、最初のものを選びます。

 SetEnvIf User-Agent ".*MSIE.*" \

**アップデート。次の echo コマンドは、問題なく機能します。それをコピーして貼り付けます。

echo '<IfModule mod_php5.c>
  php_value upload_max_filesize 30M
  php_value post_max_size 30M
  php_value max_execution_time 1200
  php_value max_input_time 1200
  php_value display_errors On
  php_value error_reporting E_ALL

</IfModule>

LimitRequestBody 31457280

<IfModule mod_setenvif.c>
  <IfDefine SSL>
    SetEnvIf User-Agent ".*MSIE.*" \
             nokeepalive ssl-unclean-shutdown \
             downgrade-1.0 force-response-1.0
  </IfDefine>
</IfModule>


RewriteEngine On
RewriteBase /${dir}
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-c-(.*).html$ index.php?cPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-m-(.*).html$ index.php?manufacturers_id=$2&%{QUERY_STRING}
RewriteCond %{REQUEST_URI} !^/cpanel
RewriteRule ^([A-Z0-9\-\_]+)/?$ index.php?ref_name=$1 [NC,L]
RewriteRule contact_page contact_us.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*).php$ index.php [NC,L]'
于 2012-10-25T16:06:23.087 に答える