shell腳本總結

最近在項目中用到shell腳本來執行命令,發現公司周圍都不會寫shell腳本

shell是用戶和Linux操作系統之間的接口。類似windows系統的dos命令行。Linux中有多種shell,其中缺省使用的是Bash。但是如果使用到交互式輸入密碼的需要使用expect來執行,詳見[sh和bash](http://blog.csdn.net/li563868273/article/details/51277399)
直接上腳本

#!/usr/bin/expect
spawn ssh serviceop@10.31.92.70
set timeout 2
expect "password:"
send "115LbUrAbEsZw\r"
expect "*]#"
set password "wuxin952"
spawn su root
expect "password:"  
send "wuxin952\r" 
expect "#"
send "/wls/serviceop/virtuoso-opensource/home/bin/isql localhost:13002\r" 
send "DB.DBA.TTLP_MT(file_to_string_output('/wls/serviceop/virtuoso_script/loan.ttl'),'','http://www.xiaowei.com');\r"
interact

send:用於向進程發送字符串
expect:從進程接收字符串
spawn:啓動新的進程
interact:允許用戶交互

expect “#”代表確認切換爲root用戶後才能執行下面語句,沒有這句無法執行下面語句

  1. vi a.sh 可以查看該文件內容,如果要修改,則鍵盤輸入a,然後使用上下鍵切換,保存,鍵盤輸入 escwq回車即可
  2. ls -l查看該文件夾下的文件屬性

參考鏈接:

https://www.cnblogs.com/iloveyoucc/archive/2012/05/11/2496433.html
https://www.cnblogs.com/lzrabbit/p/4298794.html
http://man.linuxde.net/chmod

發佈了63 篇原創文章 · 獲贊 17 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章