Длина тестовой строки в файле

Я не уверен, правильно ли использую свой аргумент. Я хотел бы передать аргумент, который представляет собой текстовый файл, содержащий строку. Когда я запускаю этот скрипт, он всегда вводит оператор if, даже если число символов в строке ниже 32.

#!/bin/bash if [ {$1} > 32 ]; then echo "Error: Password length invalid" else echo "okay" fi 

Вы можете получить длину строки переменной с помощью ${#variable} . И вы должны использовать -gt вместо > в выражении [ ] .

 #!/bin/bash pass=$(cat "$1") if [ ${#pass} -gt 32 ]; then echo "Error: Password length invalid" else echo "okay" fi