LINUX.ORG.RU

работа со строками в bash - 4: Bad substitution


0

1

В этом скрипте ошибку вызывает 4-я строка (запускать от рута):

#!/bin/bash

outf=`fdisk -l|grep 'Disk /dev/sd'`

t=${outf:1:13}

echo $t

# sh script

script: 4: Bad substitution

А когда я задаю простую строку, работает нормально. Почему ж это не работает?



Последнее исправление: unfalse (всего исправлений: 2)

root ~ # outf=`fdisk -l|grep 'Disk /dev/sd'`
Disk /dev/md127 doesn't contain a valid partition table
Disk /dev/md126 doesn't contain a valid partition table
Disk /dev/dm-0 doesn't contain a valid partition table
Disk /dev/dm-1 doesn't contain a valid partition table
Disk /dev/dm-2 doesn't contain a valid partition table
Disk /dev/dm-3 doesn't contain a valid partition table
Disk /dev/dm-4 doesn't contain a valid partition table
Disk /dev/dm-5 doesn't contain a valid partition table
Disk /dev/dm-6 doesn't contain a valid partition table
root ~ # echo $outf 
Disk /dev/sda: 500.1 GB, 500107862016 bytes Disk /dev/sdb: 500.1 GB, 500107862016 bytes
root ~ # t=${outf:1:13}
root ~ # echo $t
isk /dev/sda:
root ~ # echo $BASH_VERSION 
4.1.5(1)-release
GotF ★★★★★
()
Ответ на: комментарий от GotF

до меня дошло... Я запускал sh script, но ведь это баш, поэтому правильно bash script Спасибо за ответ

unfalse
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.