Вы делаете все правильно, за исключением того, что вы, вероятно, инициализируете свои переменные неправильными вещами.
Я предполагаю, что вы получаете аргументы для скрипта (или функции оболочки) и хотите использовать их. Затем выберите позиционные переменные от $1
и далее, так как $0
обычно будет содержать имя текущего сценария оболочки или функции оболочки.
Кроме того, вы можете найти людей, которые издеваются над использованием -e
с echo
(это распространенная, но нестандартная опция). Вместо использования echo
вы могли бы использовать printf
так:
printf "%s\t%s\t%s" "$chr" "$start" "$end" >myfile.bed
Или просто
printf "$chr\t$start\t$end" >myfile.bed
что не работает? ваш shell-скрипт, кажется, работает нормально ... (насколько я могу судить) –
Я нашел его, «chr = $ 0», он должен быть «chr = $ 1» – Kiran
'$ 0' - это всегда имя скрипта –