LINUX.ORG.RU

linux bash_aliases

 


0

1

Привет :) Вопрос: alias smt=«python smt.py ____» Что написать вместо ____ что бы это был именно pwd откуда вызывали smt? А то указывая $(pwd) оно отдает путь /home/user Либо я что-то не понимаю :) Всем сяб)



Последнее исправление: q3ta (всего исправлений: 1)
Ответ на: комментарий от shdown

Кстати еще вопрос, что за такая зависимость кавычек? Я вот проверил твой код и поменял местами двойные и одинарные. И в общем не получилось :) До этого я пытался еще и $(pwd) писать и тоже не судьба была, а все потому что были двойные кавычки... оказалось все дело в них)

q3ta
() автор топика
Ответ на: комментарий от q3ta

Двойные кавычки означают, что переменная внутри них раскрывается. Одинарные, что внутри строка, которую раскрывать не надо.

Вот, сравни результаты. В первом случае в alias попадает строка с переменной или вызовом команды. Во втором с уже раскрытой переменной или выхлопом команды.

# 1
-> alias testpwd='echo $PWD'
-> alias testpwd
alias testpwd='echo $PWD'
-> testpwd 
/tmp
-> cd /var
-> testpwd 
/var
-> alias testpwd='echo $(pwd)'
-> alias testpwd
alias testpwd='echo $(pwd)'
-> testpwd 
/tmp
-> cd /var/
-> testpwd 
/var
# 2
-> alias testpwd="echo $PWD"
-> alias testpwd
alias testpwd='echo /var'
-> cd /tmp/
alias testpwd='echo /var'
-> testpwd 
/var
-> alias testpwd="echo $(pwd)"
-> alias testpwd
alias testpwd='echo /var'
-> cd /tmp/
-> testpwd 
/var

shell-script ★★★★★
()
Ответ на: комментарий от q3ta

Кавычки в баше - целая история. Надо man bash время от времени перечитывать. Он сразу в голове весь не отложится, но потихоньку разберёшься. Но алиасы ты явно не по назначению собрался использовать, астрал просто кричит о том, что ты ещё получишь ручкой граблей по лбу. Сделай функцию или нормальный отдельный скрипт.

legolegs ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.