これを bash から実行しようとすると問題が発生します:
[root@bryanserver ~]# $SPACER="#-------#" APACHE_ENABLED=`ls -1 "$HTTPD_HOSTS-EN" | grep ".conf" | sed s/.conf//` APACHE_COUNT=`echo -e "$APACHE_ENABLED" | wc -1` if [ -n "$APACHE_ENABLED" ]; then echo $SPACER echo "Apache enabled Sites: $APACHE_COUNT" echo "$APACHE_ENABLED" else echo $SPACER echo "There are no detectable nor delectable WebSites In Sight Blackbeard" fi
bash: syntax error near unexpected token `then
コード自体に問題がありますか、それともファイルに入れてファイルを入手するのではなく、シェルから使用しようとすることに問題がありますか?
Bash のコマンド ラインでこれを入力します。
APACHE_ENABLED=`"$HTTPD_HOSTS_EN" | grep ".conf" | sed s/.conf//`
APACHE_COUNT=`echo -e "$APACHE_ENABLED" | wc -l`
if [ -n "$APACHE_ENABLED" ]; then
echo $SPACER
echo "Apache Enabled Sites: $APACHE_COUNT"
echo "$APACHE_ENABLED"
else
echo $SPACER
echo "There are no detected Apache Enabled Sites"
fi
produces this output:
APACHE_ENABLED=`"$HTTPD_HOSTS_EN" | grep ".conf" | sed s/.conf//`
APACHE_COUNT=`echo -e "$APACHE_ENABLED" | wc -l`
-bash: : command not found
[root@bryanserver ~]# APACHE_COUNT=`echo -e "$APACHE_ENABLED" | wc -l`
[root@bryanserver ~]# if [ -n "$APACHE_ENABLED" ]; then
> echo $SPACER
> echo "Apache Enabled Sites: $APACHE_COUNT"
> echo "$APACHE_ENABLED"
> else
> echo $SPACER
> echo "There are no detected Apache Enabled Sites"
> fi #
Enterキーを押して出来上がり!これが結果です。検出された Apache Enabled Sites [root@bryanserver ~]# はなく、Bash はさらに作業を行う準備ができています。
はい、Keith が指摘したように、私はellを 1 と間違えました。まだいくつかの癖がありますが、実行してレポートを発行します。それは進歩です。
ここでは、Charles Smith の資料を使用しています。彼は GitHub でいくつかのスクリプトを共有しました。github.com/twohlix/HostingScripts/blob/master/listwww.
しかし、私はメモ帳を使用していました。いくつかの編集を行った後、テキストをクリップボードに入れて Bash にアンロードすると、EOF の問題が発生したと考えられました。このSOの質問は私にアイデアを与えました .ifステートメントでEOFをbashする NotePad2でView / Show Line Endings を使用し、コードをコピーしてBashに貼り付けたところ、うまくいきました。