Próbuję nauczyć się podstaw i napotkałem problem ze skryptem liczącym znaki wprowadzane przez użytkownika. Oto mój skrypt, czy ktoś może wskazać, gdzie popełniam błąd?
#!/bin/bash
echo "Enter a word!"
read INPUT_STRING
len= echo $INPUT_STRING | wc -c
echo "Your character length is " $len
exit
shell-script
Jack Slater
źródło
źródło
man
polecenia (w tym przypadkuman echo
:-n do not output trailing newline
). Częste wywoływanieman
spowoduje szybkie rozwinięcie umiejętności korzystania z systemu Linux. Aby uzyskać więcej informacjiLC_ALL
, zobacz to pytanie / odpowiedźLC_ALL=C
aby uniknąć zakłócania ustawień użytkownika przez skrypt. Na przykład, jeśli chcesz[a-z]
dopasować 26 znaków ASCII od a do z, musisz ustawićLC_ALL=C
Myślę, że najlepiej byłoby użyć
w przeciwnym razie liczony będzie także znak końca linii dodany przez echo. Chyba że tego właśnie chcesz.
źródło