shell腳本批處理
❶ shell1腳本批處理導出數據到a文件到文件伺服器shell2腳本通過中間件連接至文件伺服器讀取a文件數據
分成2段,第一段就是從資料庫導出數據,生成文件a,把a放到某個機子上;用shell實現(如果是這樣的話應該不難實現)
第二段,shell2腳本通過中間件連接至文件伺服器讀取a文件數據--這個就不懂了,shell2為何要通過中間件讀取A文件。。是需要前端展示?是不是shell2啟動中間件上的應用還是說這shell就是應用本身。
問題太不明確了,這么長一條線,模凌兩可的一句話誰知道要怎麼處理
❷ shell腳本cat和vi哪個好用
cat。
shell腳本cat好用,但是不能這么對比,因為cat是一個文本列印的命令,而vi是一個文本編輯器。
Shell腳本與Windows/Dos下的批處理相似,也就是用各類命令預先放入到一個文件中,方便一次性執行的一個程序文件,主要是方便管理員進行設置或者管理用的。
❸ linux 中的shell相當於windows中的批處理嗎
shell腳本大約等如批處理吧,當然shell 腳本
能力大得多,現在的shell,已可寫出相當復雜
的應用, 而且你可隨時改用不同的shell, ex:
zsh , ksh93t, bash, 例如我用bash 寫的簡單查詢 A 股腳本,
#! /bin/sh
# astosk.sh by [email protected], public domain
# 查詢A股腳本
# 用法: astock.sh 或者 astock.sh [A股代號] (例如: astock.sh 600900)
fetcher=wget
code=$1
if ! which "$fetcher" > /dev/null 2>&1
then
fetcher=curl
fi
if [ -z "$code" ]
then
printf "A股代號是? (例如 600900): "
read reply
code=$reply
fi
: ${code:?"沒有A股代號"}
url="http://wap.163.com/wml/money/hq2.jsp?code=${code}"
GrepFilter="| grep -E -A15 '[0-9-]+[ \t]*[0-9]+:[0-9]+:[0-9]+'"
sedcmd="| sed '/.*:.*/!d;s/<[^>][^>]*>//g'"
case "$fetcher" in
curl) cmd="-s $url" ;;
wget) cmd="-q -O - $url" ;;
esac
echo ""
eval $fetcher $cmd $GrepFilter $sedcmd
echo ""
# end
這個腳本除可在 Linux 運行,也可在cygwin, Mac OSX
里跑,這比批處理只能在Windows下跑方便得多,它可跨平台,
執行的樣子
user@minix-nb:~$ astock.sh 000001
2009-09-30 15:00:30
代碼:000001
名稱:深發展A
當前價:20.01
漲跌額:0.27
漲跌幅:+1.37%
昨收盤:19.74
今開盤:19.88
最高價:20.22
最低價:19.84
成交量:1825萬手
成交額:365527776.00元
user@minix-nb:~$ astock.sh
A股代號是? (例如 600900): 600100
2009-09-30 15:00:09
代碼:600100
名稱:同方股份
當前價:14.13
漲跌額:0.12
漲跌幅:+0.86%
昨收盤:14.01
今開盤:14.19
最高價:14.43
最低價:14.07
成交量:1477萬手
成交額:210264880.00元
user@minix-nb:~$
OK? 呵呵
❹ 如何在本地的批處理中執行拷貝到linux伺服器上的shell腳本
inux下的批處理文件,基本就是shell腳本文件。
1.一個最簡單的腳本書寫方法為:
新建一個文件,名字為clean(自己定義的名字),在裡面編寫
rm -fv *.o;ls -al;
(可以寫一些shell普通命令,命令用分號隔開)
2.執行方法
(1)在控制台輸入:
sh clean
(2)先給與腳本可執行許可權:
chmod 777 clean
然後直接執行:
./clean
❺ shell腳本和批處理腳本有什麼區別
簡單來理解
兩者都是命令的集合
shell腳本基於Linux/Unix命令
批處理腳本基於DOS(cmd)命令
❻ 用PowerShell代替批處理吧!
這篇文章主要介紹了用PowerShell代替批處理吧!本文講解了批處理文件的 歷史 、Windows NT 和 Cmd.exe、Windows Script 主機、進入 Windows PowerShell、為什麼是時候停止寫批處理了等內容,需要的朋友可以參考下
PowerShell應當已經名正言順地成為批處理(Cmd.exe shell腳本)的替代者了,但是因為一些原因,許多人都不是很情願拋棄批處理。這篇文章將作為一個系列文章的開始幫助你打破批處理的習慣,向PowerShell進軍。
在我進入這些文章系列之前,我想先稍微講述一下關於批處理文件的一些 歷史 和為什麼你需要使用PowerShell來代替老風格的批處理代碼編寫你的腳本。
批處理文件的 歷史
批處理文件擁有很悠久的 歷史 了,微機操作系統上的一個CP/M ,擁有可提交的命令,它可以將文本文件中的一系列命令逐行運行。它非常簡單(因為當時的內存很吃緊),不支持任何類型的條件分支。
當開發MS-DOS時,微軟在它的Command.com命令解釋器中,也納入了非常類似的批處理功能:把命令存在一個文本文件中,命名為.Bat的擴展名,然後命令解釋器就會運行它裡面的每一個命令。
在以後的DOS版本中,微軟通過多種方式擴展了批處理文件。增加了標簽,GOTO語句,和If語句來處理分支。很重要的一點,批處理「語言」不是被設計出來的。它只是脫胎於CP/M可提交命令而已。
Windows NT 和 Cmd.exe
很快就到了Windows NT (1993)了,微軟納入了一個控制台模式的應用程序,Cmd.exe,直到這一天它也才呈獻給用戶的一個傳說中的「C: 提示符」。cmd.exe是舊的MS-DOS上的Command.com的一個超集,甚至使用很多相同的命令。命令類似,它的設計向後兼容,以確保用戶能 夠運行舊的MS-DOS上的批處理文件。Cmd.exe也能運行帶有.Bat 擴展名「批處理文件」。
Cmd.exe 和 Command.com之間的相似性是它對.Bat文件的向後兼容性,微軟剛開始選擇的Cmd.exe圖標(「MS-DOS」 logo)導致了用戶困惑多年。即使在今天我們在一些論壇社區,還會看到一些提問「如何用DOS干什麼什麼」,事實上這關DOS鳥事。
Cmd.exe比 Command.com擁有更多的功能,相應的也就是批處理文件的擴展。其中就包括 For /f的迭代,簡單的使用Call命令來調用子程序,環境的指定(Setlocal and Endlocal)。雖然這些增強,讓批處理「語言」更加實用,它仍然還是有許多缺陷,這讓寫一個簡單的批處理程序變成一件令人頭疼的事。
Windows Script 主機
從Windows 2000(1999)開始,微軟通過引入Windows Script Host 兩個真正的,內置的,可編程語言(VBScript和JScript 微軟版本低Javascript)來增強它的腳本功能。 WSH腳本依賴於COM對象來在操作系統和應用程序之間進行交互。盡管WSH極其實用和強大,它受限於機器上必須安裝所需的COM對象,並且沒有提供命令 行界面。
進入 Windows PowerShell
批處理和WSH腳本沒有提供一致性,因為它們是兩種分開的增強工具,擁有不同的用戶介面(批處理和wSH腳本是兩碼事)。微軟意識到了這一點,在 2006年發布了Windows PowerShell的第一個版本,結束了列國混戰的局面,一統了Windows腳本的江湖。PowerShell基於.NET 框架,提供了一個命令行,和管理Windows 操作系統的介面。
現在我們擁有了Windows PowerShell,沒有任何必要再去編寫舊式的的批處理文件(Cmd.exe shell腳本)。展望未來吧,你應當將你的精力放在學習PowerShell上,主要是因為微軟已經將PowerShell定位成Windows操作系 統自動化和企業應用程序管理的默認工具了。
為什麼是時候停止寫批處理了
這里給出你應當停止寫批處理文件,而轉向PowerShell腳本的五個理由。
1.PowerShell是未來,是標桿。微軟已經將PowerShell定位為Windows操作系統和微軟企業應用程序管理的默認工具了。許多第三方供應商也提供了PowerShell類庫用來管理他們的產品。
2.批處理是晦澀難懂的,它有很多缺陷。我以前經常去一些腳本提問的網站,我都數不清我問過多少次諸如為什麼環境變數展開後不正確啦,為什麼命令運行後不正確啦。真的沒有必要把自己耗在cmd.exe上了。批處理的限制太多了,投入到PowerShell的懷抱中吧!
3.PowerShell是支持批處理和命令行的,轉向PowerShell並不是說拋棄了批處理,老式的批處理文件仍然可以在PowerShell上很好地運行,命令行工具也仍然在PowerShell上能夠完美兼容運行。
4.PowerShell是真正的腳本編程語言,你可能還沒有嘗到PowerShell的甜頭,尤其當你嘗試體驗一些復雜邏輯時,在PowerShell中明顯比CMD.exe要簡單地多。許多時候,一行PowerShell命令行,能夠替代成百上千的批處理代碼。
5.PowerShell 使用的是對象,不像Cmd.exe和其它基於文本的Shell只能使用文本的命令輸出。另一方面PowerShell使用的是.NET 對象,那些昔日在批處理中比較棘手的問題(比如日期時間的解析)在PowerShell中變得出奇的簡單。
扔下批處理吧
Cmd.exe短期內不會消亡,但是也沒有什麼理由值得我們在這老式的批處理語言上煞費苦心,把它扔下來,使用PowerShell來代替它吧!
❼ 請問大家批處理與腳本語言的差別,具體請說下與shell語言的差別,感激不盡
1.運行平台不同:批處理只能運行在dos以及windows系列上,而shell語言只能運行在linux,unix等平台上。
2.語法有差別:這個,其實所有語言語法都有差別。(現實的、計算機的非腳本、腳本的)
個人感覺,計算機語言不管差別多大,句式都是一樣的,無非是三種句式:順序、選擇判斷(if)、循環(for),然後就是命令的組織,知道某個命令是干什麼的,然後展開各種想像把他們組織起來。
語言的開發者就像是樂器的發明者,而我們要做的僅僅是彈奏優美旋律而已。
❽ 通過shell腳本/bat批處理命令方式向其他伺服器發送文件
scp或者rsync
批處理也可以用rsync,但是需要安裝個windows的rsync包
❾ 使用shell腳本實現批處理安裝apk
在智能終端的性能測試中,經常需要安裝大量的apk使用來測試設備的流暢性,如果使用手工安裝不免效果很低還特別枯燥
安裝apk命令:adb install testapk
如果是系統應用,adb insatll是無法直接安裝的,必須覆蓋安裝,adb insatll -r testapk
1)此處介紹在ubuntu環境下如果使用批處理快捷的安裝apk,執行此shell文件需要cd進入apk文件夾下
