シェルスクリプトの文字計算の問題

シェルスクリプトの文字計算の問題

基本を学習しようとしていますが、スクリプトでユーザーが入力した文字を計算するのに問題があります。これは私のスクリプトです。誰かが私が間違っている部分を指摘できますか?

#!/bin/bash

echo "Enter a word!"    
read INPUT_STRING   
len= echo $INPUT_STRING | wc -c 
echo "Your character length is " $len
exit

答え1

すべての開始は難しい:

#!/bin/bash
read INPUT
echo $INPUT
len=$(echo -n "$INPUT" | LC_ALL=C.UTF-8 wc -m)
echo $len

具体的には、周囲のスペースを含めないでください。=内部には別々のコマンドを含める必要があります$(...)。また"、この構文を使用して変数を引用符で囲むことで、"${INPUT}"変数が誤って後続の内容に関連付けられないようにし、特殊文字(改行文字など\n)を含めることができます。

答え2

使うといいですね。

len=${#INPUT_STRING}

それ以外の場合は、echoによって追加された行末文字も計算されます。それがあなたが望むものではない場合。

関連情報