Нажмите на апплет Bluetooth> Свойства> присоединиться к локальной сети
Похоже, вы вообще не используете bash. Я могу воспроизвести только ту ошибку, которую вы показываете, если я использую dash вместо bash:
bash:$ line="someline content"
$ echo ${line}
someline content
$ lastchars=${line: -5}
$ echo ${lastchars}
ntent
dash: $ line="someline content"
echo ${line}
lastchars=${line: -5}
echo ${lastchars}
$ someline content
$ dash: 3: Bad substitution
Ваш shebang строка указывает на bash, но вы запускаете скрипт с sh, поэтому shebang игнорируется. /bin/sh в системах Ubuntu на самом деле dash, минимальная оболочка, которая не поддерживает синтаксис, который вы пытаетесь использовать.
При использовании строки shebang нет причин для явного вызова оболочки для скрипта, просто сделайте ее выполнимой (chmod a+x /path/to/script.sh) и запустите ее без указания интерпретатора:
/path/to/script.sh
В качестве альтернативы используйте только один:
bash /path/to/script.sh
Похоже, вы вообще не используете bash. Я могу воспроизвести только ту ошибку, которую вы показываете, если я использую dash вместо bash:
bash:$ line="someline content"
$ echo ${line}
someline content
$ lastchars=${line: -5}
$ echo ${lastchars}
ntent
dash: $ line="someline content"
echo ${line}
lastchars=${line: -5}
echo ${lastchars}
$ someline content
$ dash: 3: Bad substitution
Ваш shebang строка указывает на bash, но вы запускаете скрипт с sh, поэтому shebang игнорируется. /bin/sh в системах Ubuntu на самом деле dash, минимальная оболочка, которая не поддерживает синтаксис, который вы пытаетесь использовать.
При использовании строки shebang нет причин для явного вызова оболочки для скрипта, просто сделайте ее выполнимой (chmod a+x /path/to/script.sh) и запустите ее без указания интерпретатора:
/path/to/script.sh
В качестве альтернативы используйте только один:
bash /path/to/script.sh
Похоже, вы вообще не используете bash. Я могу воспроизвести только ту ошибку, которую вы показываете, если я использую dash вместо bash:
bash:$ line="someline content"
$ echo ${line}
someline content
$ lastchars=${line: -5}
$ echo ${lastchars}
ntent
dash: $ line="someline content"
echo ${line}
lastchars=${line: -5}
echo ${lastchars}
$ someline content
$ dash: 3: Bad substitution
Ваш shebang строка указывает на bash, но вы запускаете скрипт с sh, поэтому shebang игнорируется. /bin/sh в системах Ubuntu на самом деле dash, минимальная оболочка, которая не поддерживает синтаксис, который вы пытаетесь использовать.
При использовании строки shebang нет причин для явного вызова оболочки для скрипта, просто сделайте ее выполнимой (chmod a+x /path/to/script.sh) и запустите ее без указания интерпретатора:
/path/to/script.sh
В качестве альтернативы используйте только один:
bash /path/to/script.sh
Очевидно, что использование встроенных функций определенной оболочки хорош, но вы также можете выполнить задачу с помощью стандартных команд UNIX, поэтому она будет работать в любой оболочке:
String="This is some text"
StrLen=`echo ${String} | wc -c`
From=`expr $StrLen - 5`
echo $String | cut -c${From}-${StrLen}
Очевидно, что использование встроенных функций определенной оболочки хорош, но вы также можете выполнить задачу с помощью стандартных команд UNIX, поэтому она будет работать в любой оболочке:
String="This is some text"
StrLen=`echo ${String} | wc -c`
From=`expr $StrLen - 5`
echo $String | cut -c${From}-${StrLen}
Очевидно, что использование встроенных функций определенной оболочки хорош, но вы также можете выполнить задачу с помощью стандартных команд UNIX, поэтому она будет работать в любой оболочке:
String="This is some text"
StrLen=`echo ${String} | wc -c`
From=`expr $StrLen - 5`
echo $String | cut -c${From}-${StrLen}