Получение "команда не найдена" при использовании cut on переменной bash
У меня есть две переменные в скрипте bash
hostname="ab78ascsoadp003.abc.com"
Loc=`$hostname | cut -c3,4`
Я получаю ошибку ab78ascsoadp003.abc.com: command not found
Я пытаюсь использовать cut command
чтобы $Loc
получает 78
3 ответа
Пока вы можете использовать cut
Чтобы достичь этого, иногда полезно придерживаться Bash:
hostname="ab78ascsoadp003.abc.com"
Loc=${hostname:3:2}
${parameter:offset:length}
Расширение подстроки. Расширяется до длины символов параметра, начиная с символа, указанного смещением. Еслиlength
опущен, расширяется до подстроки параметра, начиная с символа, указанногоoffset
,length
а такжеoffset
являются арифметическими выражениямиисточник:
man bash
hostname="ab78ascsoadp003.abc.com"
Loc=`echo "$hostname" | cut -c3,4`
# or
Loc=`cut -c3,4 <<<"$hostname"`