Я пытаюсь разделить строку, но существует что-то не так. Если кто-либо мог бы советовать.
echo -e "\e[41m## i = $i ##\e[0m"
str1=$i | cut -d'/' -f1
echo -e "\e[41m## str1 = $str1 ##\e[0m"
и это - вывод:
## i = 1000/1.0, ##
## str1 = ##
Я решил его с помощью этого:
str1=$(echo $i | cut -f1 -d'/')
При использовании удара нет никакой потребности вызвать внешнюю команду такой как cut
для этого: можно использовать встроенные функции расширения параметра оболочки.
, Например, чтобы удалить самую длинную запаздывающую строку, запускающуюся с /
от переменной str='1000/1.0'
и присвоить результат переменной str1
str1="${str%%/*}"
Так
$ str='1000/1.0'
$ str1="${str%/*}"
$ echo "$str1"
1000
, Посмотрите превосходное BashFAQ/073