shell腳本編程-變量初值,預交互

字符串初值設置:
當你什麼都沒有輸入的情況下,還有一個默認值。
語法結構:
${var:-word}
//如果未定義變量的值,默認輸出word
//如果定義了變量的值,輸出定義好的變量值

實例:
    創建一個腳本,實現交互式的創建用戶和密碼,
    如果用戶未設置密碼,則默認密碼是123456

    #!/bin/bash
    read -p "請輸入用戶名:" user
    read -p "請輸入密碼:" pass
    pass=${pass:-123456}
    useradd $user
    echo "$pass" | passwd --stdin  $user 

傳遞多行值給命令:
# 命令 << EOF
>sdfjh
>kakjsddn
>aslkkn
>EOF

應用場景是發郵件。mail

#mail -s test root << EOF 
>test mail 
>hello world
>EOF 

expect預期交互:

for i in `cat ipaddress.txt`
do
    ssh $i 
        mkdir /abc
        yum -y install mysql
        exit
done


ssh:
    第一次登錄會讓你輸入是否接受公鑰
    第二次登錄直接輸入密碼

1.需要安裝expect工具:
#yum -y install expect

2.實現免交互登錄:
#vim expect.txt
#!/bin/bash
for i in seq 10
do
expect <<EOF
spawn ssh 賬號.KaTeX parse error: Can't use function '\r' in math mode at position 51: …ord" { send "密碼\̲r̲" } //自動發送密碼 …USER.txt \r" } //發送命令
expect “#” { send “exit \r” }
EOF
done

ssh 不希望出現yes /no
    ssh -o StrictHostKeyChecking-no  IP地址
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章