2015-08-15 2 views
1

Как только я запускаю свой сценарий, я создаю новый файл в своем текущем местоположении, а затем добавляю некоторые данные в этот файл: touch tracking DATA=$(pwd/tracking) В приведенном выше коде я хочу, чтобы файл быть в общем месте, поэтому я могу добавить в него некоторые данные, даже если я не в том же месте, что и файл. echo $someRecords >> "$DATA". Любая идея, что здесь не так? Благодарю.Создание пути с помощью pwd

+0

что вы хотите сделать, имея '$ (pwd/tracking)'? – HuStmpHrrr

+0

'$ someRecords >>" $ DATA "' должно быть 'echo $ someRecords >>" $ DATA "' btw. вам, похоже, нужен учебник bash basics. – HuStmpHrrr

+0

@HuStmpHrrr Я согласен. Я забыл эхо в своем посте. Как правило, я хочу, чтобы файл находился в общем месте, поэтому я могу добавить в него некоторые данные, даже если я не в том же месте, что и файл. – user3075653

ответ

3

Исполняемый файл называется «pwd», а не «pwd/tracking».

DATA="$(pwd)/tracking" 
1

Стоит отметить, что в дополнение к исполняемому pwd вы также переменную $PWD. Если вы так склонны, вы могли бы заменить три линии

touch tracking 
DATA="$(pwd)/tracking" 
echo $someRecords >> "$DATA" 

с

DATA="${PWD}/tracking" 
echo $someRecords >> "$DATA" 

или если вы чувствуете лаконичный одну строку

echo $someRecords >> "${PWD}/tracking" 

бы то же самое

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