Я написал Баш скрипт:Команда копирования не работает при добавлении даты
date=$(date +%F)
cp $1 $1_$date
Когда написана таким образом, и при условии, один аргумент, он отлично работает. Но если я пишу:
cp $1 $date_$1
Я получаю сообщение об ошибке:
ф: '1.sh' и '1.sh' являются и тот же файл
Может кто-нибудь объяснить, для меня, пожалуйста, почему это происходит и как это можно решить. Благодаря!
ф $ 1 дата $ "_ $ 1" работает. таким образом bash знает, когда заканчивается одно имя переменной, а другое начинается – amdixon
Используйте $ {date}, который сообщает, где заканчивается переменная –
Не строго дубликат (хотя я уверен, что мы можем найти его), но объяснение есть в http: // stackoverflow .com/questions/8748831/bash-when-do-we-need-curly-braces-in-variables – tripleee