그래서 나는이 같은 파이썬 직물 스크립트를 통해 아치 리눅스 인스턴스의 설정까지 자동화하기 위해 노력하고 있습니다 :
from fabric.api import run, sudo
def server_setup_communityrepo():
run('echo \'echo "[archlinuxfr]" >> /etc/pacman.conf\' | sudo -s')
run('echo \'echo "Server = http://repo.archlinux.fr/$arch" >> /etc/pacman.conf\' | sudo -s')
run('echo \'echo " " >> /etc/pacman.conf\' | sudo -s')
sudo('pacman -Syy yaourt --noconfirm')
이 문제가 발생을 두 번째 run()
전화는 $arch
의 $ 기호 때문에 호출됩니다. $에 이어 문자열이 구성 변수로 패브릭에 인식되므로이 패브릭 기능은 라인 2에서 실패합니다. 하지만 실제로는 $ arch가 리터럴로 이해되기를 바스 셸에서
echo 'echo "Server = http://repo.archlinux.fr/$arch" >> /etc/pacman.conf'
으로 호출하고 싶습니다.
이 직물에서 "탈출"하고 pacman.conf 파일에 쓰여지는 리터럴로 $ arch를 지정하려면 어떻게해야합니까?
은'\ $'업무로 변경합니까? – sarnold
nope. 그게 제가 시도한 첫 번째 것입니다. 작동하지 않습니다. –