国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

shell腳本ssh遠(yuǎn)程執(zhí)行命令給變量賦值的問(wèn)題

這篇具有很好參考價(jià)值的文章主要介紹了shell腳本ssh遠(yuǎn)程執(zhí)行命令給變量賦值的問(wèn)題。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

需求及目標(biāo)

從A機(jī)器通過(guò)SSH方式到B機(jī)器,并執(zhí)行相關(guān)的命令。命令中包含變量及變量的賦值。

代碼如下,意思是,ssh到192.111.111.27這臺(tái)機(jī)器,cd到 / 根目錄下,并執(zhí)行l(wèi)s命令,如果ls出來(lái)的結(jié)果不為空,則執(zhí)行echo命令??梢钥隙ǖ氖?/ 根目錄下是有內(nèi)容的。

ssh -i /root/.ssh/private_key -tt -o StrictHostKeyChecking=no  rbadmin_app1@192.111.111.27 << eof
cd /
LSRESULT="$(ls)"
echo $LSRESULT
exit
eof

可以看到當(dāng)執(zhí)行到 echo 命令的時(shí)候,輸出的是空,這就很奇怪。
shell腳本ssh遠(yuǎn)程執(zhí)行命令給變量賦值的問(wèn)題,linux,ssh,運(yùn)維

問(wèn)題產(chǎn)生的原因

這是因?yàn)槲覀儗⑦h(yuǎn)程執(zhí)行的命令和變量賦值語(yǔ)句放在了 SSH 的輸入重定向中 (<< eof … eof)。在這種情況下,腳本中的變量賦值語(yǔ)句將在本地 Shell 中執(zhí)行,而不是遠(yuǎn)程機(jī)器上。也就是說(shuō)變量賦值語(yǔ)句其實(shí)不會(huì)在你遠(yuǎn)程執(zhí)行的這臺(tái)B機(jī)器上去執(zhí)行,而是等到ssh命令完成后,回到機(jī)器A上后去執(zhí)行,實(shí)際 ls 命令執(zhí)行的路徑是機(jī)器A在執(zhí)行ssh命令時(shí)所在的路徑。

問(wèn)題的解決

ssh -i /root/.ssh/private_key -tt -o StrictHostKeyChecking=no  rbadmin_app1@192.111.111.27 << eof
cd /
LSRESULT="\$(ls)"
echo \$LSRESULT
exit
eof

可以看到此時(shí),執(zhí)行echo命令時(shí),就輸出了遠(yuǎn)程機(jī)器上執(zhí)行的ls命令。修改的地方很簡(jiǎn)單,在執(zhí)行的語(yǔ)句外層的$符號(hào)前加上反斜杠 \ , 在引用的變量上加上反斜杠 \ 即可。這是由于命令和變量在遠(yuǎn)程機(jī)器上執(zhí)行,因此需要使用 \ 進(jìn)行適當(dāng)?shù)霓D(zhuǎn)義,以確保變量能夠正確地被解析和賦值。
shell腳本ssh遠(yuǎn)程執(zhí)行命令給變量賦值的問(wèn)題,linux,ssh,運(yùn)維文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-519960.html

到了這里,關(guān)于shell腳本ssh遠(yuǎn)程執(zhí)行命令給變量賦值的問(wèn)題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • nodejs腳本中執(zhí)行shell命令

    Node.js v8.x 中文文檔: child_process - 子進(jìn)程 Node.js中使用內(nèi)置的 child_process 模塊來(lái)執(zhí)行shell命令。該模塊提供了 exec 、 execFile 、 spawn 等方法來(lái)啟動(dòng)子進(jìn)程并執(zhí)行命令 exec 方法是將整個(gè)命令輸出緩存到內(nèi)存中,當(dāng)執(zhí)行 完成后一次性 返回,所以適合執(zhí)行 較小 的命令 exec 方法的 回調(diào)

    2024年01月21日
    瀏覽(23)
  • 【Linux命令-shell】虛擬機(jī)中創(chuàng)建shell腳本、查看當(dāng)前路徑、執(zhí)行腳本

    目錄 一、創(chuàng)建shell腳本 二、查看當(dāng)前的路徑 三、執(zhí)行腳本 一、創(chuàng)建shell腳本 shell腳本的特點(diǎn) 提前將可執(zhí)行的命令語(yǔ)句寫入一個(gè)文件中 順序執(zhí)行 解釋器逐行解釋代碼 常見(jiàn)的腳本有:shell、python、PHP...... 注:用什么解釋器就是什么腳本 編寫shell腳本: 步驟: 1、新建文件 2、

    2024年02月05日
    瀏覽(95)
  • 簡(jiǎn)單實(shí)用!shell腳本實(shí)現(xiàn)ssh遠(yuǎn)程鏈接的三種方法

    在ubuntu系統(tǒng)中安裝SSH客戶端: 創(chuàng)建名為connect_remote.sh的shell腳本文件: 請(qǐng)確保將REMOTE_IP和REMOTE_USER變量替換為實(shí)際的遠(yuǎn)程電腦IP地址和用戶名。 保存文件后,給與腳本可執(zhí)行權(quán)限: 運(yùn)行shell腳本,連接遠(yuǎn)程電腦: 當(dāng)運(yùn)行此腳本時(shí),系統(tǒng)會(huì)提示輸入遠(yuǎn)程電腦的密碼,輸入密碼后

    2024年02月17日
    瀏覽(22)
  • shell批量執(zhí)行命令與文件傳輸腳本

    shell批量執(zhí)行命令與文件傳輸腳本

    對(duì)未進(jìn)行主機(jī)信任操作的服務(wù)器進(jìn)行批量操作 由于ssh只能在交互模式中輸入服務(wù)器密碼進(jìn)行登錄登操作,不便于進(jìn)行大批量服務(wù)器進(jìn)行巡檢或日志采集。sshpass恰好又解決了這個(gè)問(wèn)題,使用 ssh -p passwd 可以實(shí)現(xiàn)命令行輸入密碼操作,便于進(jìn)行規(guī)模巡檢 首先需要在腳本執(zhí)行機(jī)器

    2024年02月08日
    瀏覽(25)
  • shell腳本-批量主機(jī)執(zhí)行命令(expect)

    上次連接多臺(tái)服務(wù)器使用ssh-keygen,24機(jī)器去連接22、25,所以存在.ssh/authorized_keys 1.如果有.ssh/authorized_keys該文件則先刪除 1.expect命令含義 expect是一種腳本語(yǔ)言,它能夠代替人工實(shí)現(xiàn)與終端的交互,主要應(yīng)用于執(zhí)行命令和程序時(shí),系統(tǒng)以交互形式要求輸入指定字符串,實(shí)現(xiàn)交互

    2024年02月13日
    瀏覽(18)
  • SSH遠(yuǎn)程執(zhí)行命令

    22服務(wù)器上有 jenkinsAutoBuild.sh ,執(zhí)行以下命令,jenkinsAutoBuild.sh 會(huì)在遠(yuǎn)程服務(wù)器21上執(zhí)行 不帶參數(shù) 如果需要帶參數(shù),執(zhí)行以下命令 執(zhí)行21 服務(wù)器上的腳本文件,注意腳本要寫絕對(duì)路徑 不帶參數(shù) 帶參數(shù) 在腳本中應(yīng)加載環(huán)境變量

    2024年02月16日
    瀏覽(49)
  • SSH遠(yuǎn)程登錄并執(zhí)行命令測(cè)試

    SSH遠(yuǎn)程登錄并執(zhí)行命令測(cè)試

    SSH 是 Linux 下進(jìn)行遠(yuǎn)程連接的基本工具,但是如果僅僅用它來(lái)登錄那可是太浪費(fèi)啦!SSH 命令可是完成遠(yuǎn)程操作的神器啊,借助它我們可以把很多的遠(yuǎn)程操作自動(dòng)化掉!下面就對(duì) SSH 的遠(yuǎn)程操作功能進(jìn)行一個(gè)小小的總結(jié)。 如果我們要查看一下某臺(tái)主機(jī)的磁盤使用情況,是不是必

    2024年02月09日
    瀏覽(21)
  • linux 之 shell腳本實(shí)現(xiàn)SFTP下載、上傳文件、執(zhí)行sftp命令

    linux 之 shell腳本實(shí)現(xiàn)SFTP下載、上傳文件、執(zhí)行sftp命令

    需求方通過(guò)sftp不定時(shí)的上傳一批用戶(SBXDS_ACC_M_任務(wù)ID_yyyymmddHHMMSS.csv),需要我們從這些用戶中找出滿足條件的用戶。然后把這些結(jié)果用戶通過(guò)文件的形式上傳到ftp。 ip1能連接hive庫(kù)環(huán)境,不能連接sftp。 ip2不能連接hive庫(kù)環(huán)境,能連接sftp。 ip1和ip2是共享盤,能同時(shí)訪問(wèn)公共目錄

    2024年02月19日
    瀏覽(24)
  • Linux SSH 遠(yuǎn)程連接主機(jī),并執(zhí)行命令

    應(yīng)用場(chǎng)景 當(dāng)需要遠(yuǎn)程到另一臺(tái)Linux上,并在另一臺(tái)機(jī)器上執(zhí)行 Shell 命令,則需要注意命令的書寫格式 示例說(shuō)明 遠(yuǎn)程到 192.158.157.47 機(jī)器上,并執(zhí)行命令 cd /tmp ./zabbixagent_install.sh echo Success 1、錯(cuò)誤方式 因?yàn)槊铋g用 拼接,表示多條命令是順序執(zhí)行,所以, ssh命令和后續(xù)的命令

    2024年02月14日
    瀏覽(22)
  • 故障排查:通過(guò)ssh遠(yuǎn)程執(zhí)行命令時(shí)報(bào)錯(cuò)未找到命令

    故障排查:通過(guò)ssh遠(yuǎn)程執(zhí)行命令時(shí)報(bào)錯(cuò)未找到命令

    博客主頁(yè):https://tomcat.blog.csdn.net 博主昵稱:農(nóng)民工老王 主要領(lǐng)域:Java、Linux、K8S 期待大家的關(guān)注??點(diǎn)贊??收藏?留言?? 最近收到測(cè)試同事的反饋,在通過(guò)ssh遠(yuǎn)程執(zhí)行命令是遇到“未找到命令”的報(bào)錯(cuò)。如下圖所示: 單獨(dú)遠(yuǎn)程執(zhí)行l(wèi)sof命令也報(bào)錯(cuò)。 但遠(yuǎn)程服務(wù)器的lsof命令

    2024年02月12日
    瀏覽(17)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包