в чем ошибка в bash скрипте? подскажите, пожалуйста

программирование Linux unix bash

#!/bin/sh
par1=$1
echo http://test/$par1/$1 | cut -c-5/$par1-1.jpg

part1 принимает значение аргумента, который указывается при вызове скрипта
во второй строке должен получиться путь к файлу, загвоздка тут возникает в моменте $1 | cut -c-5, не знаю почему, но не срабатывает, хотя если сделать к примеру так echo $1 | cut -c-5 то норм

Примечание:
во входящем параметре и буквы и цифры.
почему тогда если сделать просто echo $1 | cut -c-5 то выведет как раз первые 5 символов входящего параметра без каких либо проблем?

Примечание:
для Юрий Чудновский (Юрий Чудновский)
дело в том, что несмотря на то, что я второй раз в жизни пытаюсь "писать" скрипт, кавычки я уже пробовал, но кстати говоря спасибо про "-c-5/blah-1.jpg" не подумал, но ваша конструкция у меня не сработала
даже echo http://test/$par1/`$1 | cut -c-5` так и не обрезало входной параметр до 5 символов:(

Примечание:
2Master Sergius (Sergius Lord)
с двумя параметрами все гораздо проще:) но так не интересно=)

Примечание:
2Юрий Чудновский (Юрий Чудновский)
странно как то, я видимо еще очень мал, та конструкция которую вы указали, отрезает 5 симовлов от начала выводимой строки, а не входного параметра, может тогда еще сможете подсказать чтобы оно от параметра отрезало отдельно?
echo `echo http://test/$par1/$1 | cut -c-5`/$par1-1.jpg выведет http:/$par1-1.jpg т.е. cut отрезает от самого начала а не от $1

Примечание:
ВСЕМ СПАСИБО! Лучший ответ я отметил, хоть и не точный, но помог именно он:)
Ответы:
очевидно, надо получить длину параметра, там ведь только числа походу
Берём конструкцию за трубой, "cut -c-5/$par1-1.jpg", и "разворачиваем", заменяя переменную. Что получим? Что-то типа:
cut -c-5/blah-1.jpg
Внимание, вопрос: как cut воспримет переданный ей аргумент "-c-5/blah-1.jpg"? Очевидный ответ: покрутит у виска.
Что сделует делать. чтобы получилось то, что вы задумали? Следующее:
echo `echo http://test/$par1/$1 | cut -c-5`/$par1-1.jpg
Что делают такие кавычки предлагаю выяснить самостоятельно, для закрепления материала :)
Я что то не пойму вообще что тут задумано, может быть следствие того что у меня температура.
Приведите пример что дается на вход и что должно получиться на выходе по задумке.


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.