Я работаю на крошечном сценарий для школы, который имеет для цели, чтобы получить размер (файл в качестве параметра) БМП-файл с помощью одной командной строки (нет, или & &)Bash плохая замена
Так что я сделал это:
#!/bin/bash
echo "size : ${$(xxd -p -seek 02 -l 4 $1):6:2}${$(xxd -p -seek 02 -l 4 $1):4:2}${$(xxd -p -seek 02 -l 4 $1):2:2}${$(xxd -p -seek 02 -l 4 $1):0:2} bytes"
Но при выполнении (с использованием Баш или выполнения) он возвращает следующую ошибку:
./script.sh: line 3: size : ${$(xxd -p -seek 02 -l 4 $1):6:2}${$(xxd -p -seek 02 -l 4 $1):4:2}${$(xxd -p -seek 02 -l 4 $1):2:2}${$(xxd -p -seek 02 -l 4 $1):0:2} bytes: bad substitution
что я не знаю, как избавиться от, м вы, ребята, помогаете мне решить эту проблему?
Там нет никакой заслуги в попытке сделать это на одной строке. Не могу поверить, что у тебя такое дерьмовое упражнение. Возможно, вы неправильно поняли инструкции. Я предлагаю дважды проверить это. – janos
Это было упражнение. На прошлой неделе мы выполнили сценарий (без лимита), чтобы получить размер файла bmp, и упражнение на этой неделе состояло в том, чтобы повторить один и тот же скрипт только в одной строке: /. –
Попробуйте: 'dd if = $ 1 bs = 2 skip = 1 count = 2 2>/dev/null | od -t u4 -A n' –