2015-05-26 5 views
1

Следующий код помещает правильное значение в $monthdata и $daydata, но когда я пытаюсь выполнить их конкатенирование, оно не работает.переменные, не конкатенирующие в BusyBox

month05="AD" 
day25="QGTKDO" 

curmonth=$(date +"%m") 
eval monthdata="\$month$curmonth" 
curday=$(date +"%d") 
eval daydata="\$day$curday" 
c="$monthdata$daydata" 

echo $c 

Это эхо выдает «QGTKDO». Если c = "$ daydata $ monthdata", то вывод будет "ADTKDO", как будто вместо конкатенации он накладывает их. I Am on BusyBox v1.23.1

+1

Похоже, ваш сценарий имеет линии конца DOS (так что строки). Попробуйте запустить dos2unix или аналогичный на нем. Также см. Информационную страницу [tag: bash], так как это одно из первых предложений. –

+0

Ты король! :) Пожалуйста, разместите его как ответ, чтобы я мог отметить его как принятый ... я бы никогда не нашел это даже после двух месяцев поиска – sharkyenergy

+0

Вы уверены, что используете 'bash', а не' ash'? – chepner

ответ

1

Похоже, ваш скрипт имеет линии конца DOS (так что строки). Попробуйте запустить dos2unix или подобное на нем. Также см. Информационную страницу bash, так как это одно из первых предложений. - Etan Reisner

Смежные вопросы