ユーザーの入力承認を使用していますread
。通常どおり計算を使用してwc -c
変数に保存してみましたが、結果は常に1を返します。
以下は
#!/bin/bash
echo -n "Enter your plaintext.> "
read text
count=$(echo $text | wc -w)
echo $count
とにかく、変数が変数として保存されていない場合は、直接エコーするのが正しい結果です。
#!/bin/bash
echo -n "Enter your plaintext.> "
read text
echo $text | wc -w
答え1
コードが動作します。
read text
count=$( echo "$text" | wc -w )
count
テキストを入力すると2に設定されますhello world
。
コメントで文字計算について話しました。
count=$( echo "$text" | wc -c )
または
count=${#text}
あなたのためにそれを行います。ただし、このwc
ソリューションは最後の改行文字も計算し、パラメータ拡張方法よりも1文字大きい値を提供します。この方法は、上記のように拡張子を二重引用符で囲まない限り、文字列wc
のスペースも圧縮します。$text