Есть два способа достичь своей цели.
Самый простой способ - добавить exclude = *
в ваш файл /etc/yum.conf
.
Второй - отключить все репозитории. Для каждого определения репозитория в /etc/yum.repos.d/ добавьте строку enabled = 0
, то есть (CentOS-Base.repo):
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0
TCL прост . В этом случае, как указывает mosvy
в комментариях, используйте {...}
, чтобы отключить интерполяцию сложного шелл-кода. Однако \r
для ввода команды нельзя экранировать, а процедуре send
требуется одна строка, поэтому либо соедините строку вместе, либо используйте два вызова send
:
#!/usr/bin/env expect
catch {exec rm foo}
log_file expect.log
spawn -noecho sh
expect -ex {$ }
send {df | awk '/\//{print $NF}' > foo}
send "\r"
expect -ex {$ }
send -- {exit}
send "\r"
expect eof
Это может быть улучшено с помощью sendline
процедуры для задачи, которая не позволяет биту \r
загромождать код:
#!/usr/bin/env expect
proc sendline {line} { send -- "$line\r" }
spawn -noecho sh
expect -ex {$ }
sendline {df | awk '/\//{print $NF}' > foo}
expect -ex {$ }
sendline "exit"
expect eof
Если вам нужна интерполяция, то потребуется обратный удар, хотя в этом случае может быть лучше исключить шелл-код и вместо этого вызвать программу непосредственно в удаленной системе, которая выполняет необходимую задачу или производит необходимый вывод в простом виде. потреблять форму.
Я заработал, установив имя пользователя и пароль в начале скрипта.
set Username "END_USER"
Представьте, что мой пароль былpas\Sw)/ord
Мне пришлось установить специальные символы в шестнадцатеричном формате, где шестнадцатеричный для
\
это\x5c
)
это\x29
/
это\x2f
Поэтому мне пришлось установить его, используя приведенный ниже синтаксис, без "
в начале и "
в конце.
set Password pas\x5cSw\x29\x2ford
шестнадцатеричные значения можно найти вhttp://defindit.com/ascii.html
Вы также можете использовать
puts "$Username"
puts $Password
для отображения значений в целях проверки.