Ⅰ linux下如何寫個SHELL腳本,每天執行這么幾句命令:
1、登錄CentOS7系統,打開終端,輸入命令env shell列印出shell進程的環境變數。
Ⅱ 如何使用sqlcmd在批處理腳本中執行SQL
使用sqlcmd可以在批處理腳本中執行SQL。雖然這個命令的參數很多,但幸運的是,我們不需要全部理解,在這里簡要介紹以下幾個:x0dx0a{ -U login_id [ -P password ] } | _E trusted connection }] 如果指定了-E就不需要指定用戶名密碼,當然指定了用戶名密碼就不用-E了;x0dx0a-S server_name [ \ instance_name ] 資料庫伺服器,如果不在本機的話必須指定;x0dx0a-d db_name 資料庫名字,必須的;x0dx0a[ -i input_file ] [ -o output_file ] sql存在文件里的話用-i,輸出到文件用-o;x0dx0a[ -q "cmdline query" ] [ -Q "cmdline query" and exit ] 輸入是簡單的sql,不用文件,推薦用-Q,如果你執行完sqlcmd還需要執行別的動作的話;x0dx0a[ -W remove trailing spaces ] 刪除多餘的空格,結果會更緊湊。x0dx0a當我們在真正的腳本中執行sql時,通常需要傳入和輸出變數。x0dx0a傳入變數比較簡單,如下所示:x0dx0asqlcmd -d test -Q "select * from dbo.Investment where investor=$(x)" -v x='IBM' -Wx0dx0a這個語句從test資料庫的Investment表中選出investor等於x的所有行,注意到變數x被包含在${}中。x0dx0a然後用-v定義了x的值,'IBM'。x0dx0a-W確定輸出的結果不包含多餘的空格。x0dx0ax的值如果沒有在sqlcmd中設定,系統會試圖從別的地方去尋找,可能的地方包括,系統環境變數,用戶環境變數,以及用在sqlcmd之前用set設定的變數值。x0dx0a如果你的數據里確實包含${},那麼你並不希望進行變數的替換,使用-x選項可以禁止變數的替換。x0dx0a有些時候,你還希望能獲得sql執行結果並保存到變數中。比如你們的日誌系統每天都在產生日誌文件,你要執行一個腳本來處理這些日誌文件並存到資料庫中。在處理之前,你必須讀取資料庫以確定上次處理到那一天了。你期望這樣能解決你的問題:x0dx0asqlcmd -d test -Q "select ${x}=max(date) from dbo.logDates " -Wx0dx0a但這樣並不工作。因為sqlcmd並不提供輸出變數。x0dx0a不過你可以這樣做:x0dx0asqlcmd -d test -Q "declare @x nvarchar(8);select @x=max(date) from dbo.logDates;print @x; " -Wx0dx0a這樣你就可以得到一個乾乾凈凈的數字,而不會包含列名和其他信息。x0dx0a接著你將上述結果導入到一個文件里:x0dx0asqlcmd -d test -Q "declare @x nvarchar(8);select @x=max(date) from dbo.logDates;print @x; " -W 1.txtx0dx0a現在到了最關鍵的一步,將文件的內容寫入到變數里:x0dx0aset /P myvar=<1.txtx0dx0a/p表明這個變數myvar的值需要用戶輸入;x0dx0a<1.txt表明從1.txt中讀入而不是從其他地方讀入。x0dx0a這樣,我們就巧妙的把sql執行的結果寫入到變數里了。
Ⅲ linux 中如何執行腳本
ash shell 腳本的方法有多種,現在作個小結。假設我們編寫好的shell腳本的文件名為hello.sh,文件位置在/data/shell目錄中並已有執行許可權。
方法一:切換到shell腳本所在的目錄(此時,稱為工作目錄)執行shell腳本:
cd /data/shell
./hello.sh
./的意思是說在當前的工作目錄下執行hello.sh。如果不加上./,bash可能會響應找到不到hello.sh的錯誤信息。因為目前的工作目錄(/data/shell)可能不在執行程序默認的搜索路徑之列,也就是說,不在環境變數PASH的內容之中。查看PATH的內容可用 echo $PASH 命令。現在的/data/shell就不在環境變數PASH中的,所以必須加上./才可執行。
方法二:以絕對路徑的方式去執行bash shell腳本:
/data/shell/hello.sh
方法三:直接使用bash 或sh 來執行bash shell腳本:
cd /data/shell
bash hello.sh
或
cd /data/shell
sh hello.sh
注意,若是以方法三的方式來執行,那麼,可以不必事先設定shell的執行許可權,甚至都不用寫shell文件中的第一行(指定bash路徑)。因為方法三是將hello.sh作為參數傳給sh(bash)命令來執行的。這時不是hello.sh自己來執行,而是被人家調用執行,所以不要執行許可權。那麼不用指定bash路徑自然也好理解了啊,呵呵……。
方法四:在當前的shell環境中執行bash shell腳本:
cd /data/shell
. hello.sh
或
cd /data/shell
source hello.sh
前三種方法執行shell腳本時都是在當前shell(稱為父shell)開啟一個子shell環境,此shell腳本就在這個子shell環境中執行。shell腳本執行完後子shell環境隨即關閉,然後又回到父shell中。而方法四則是在當前shell中執行的。
Ⅳ 如何在命令行里運行python腳本
語句執行方式:
step1. 輸入 python 進入 python 命令行
step2. 輸入 python 語句立即執行
Ⅳ 怎麼在shell里寫腳本並運行
執行「nano function.sh」命令,創建新的shell腳本文件,名字為「function.sh」。
編輯新創建的shell腳本文件「function.sh"。函數必須先定義後使用。
shell腳本的內容如下:
#!/bin/bash
add(){
sum_1=$1;
sum_2=$2;
sum=`expr $sum_1 + $sum_2`;
echo "the sum is ${sum}";
}
add $1 $2
給新創建的function.sh賦可執行許可權,命令為「chmod 755 function.sh」。
使用「./function.sh 1 2」調用腳本,並給腳本傳遞兩個數字。
6
執行命令的結果為「the sum is 3」。
Ⅵ 怎麼讓bat腳本循環執行
讓bat腳本循環執行有以下兩種方法:
第一、可以直接加個%0,即執行本身,實現循環。
第二、用goto命令,去到要重復的開頭,如果要限制次數,可以先set 一個值,循環一次減1,條件滾指命令到0退出,實現循環。
(6)腳本執行語句命令擴展閱讀:
goto語句一般格式如下:
goto 語句標號; 其中語句標號是按標識符規定書寫的符號, 放在某一語句行的前面,標號後加則備碰冒號孫談(:)。語句標號起標識語句的作用,與goto 語句配合使用。
如: label: i++;
loop: while(x<7);
goto loop;
goto語句的語義是改變程序流向, 轉去執行語句標號所標識的語句。goto語句通常與條件語句配合使用。可用來實現條件轉移, 構成循環,跳出循環體等功能。
Ⅶ 如何在腳本中執行SQL語句並獲得結果輸出
這里需要用到的工具叫做sqlcmd.exe, 它隨SQL server的安裝而安裝. 該可執行程序的位置在:
C:\Program Files\Microsoft SQL Server\xxx\Tools\Binn
其中xxx是你所安裝的SQL Server的版本號.
Version Number
SQL Server 2005 90
SQL Server 2008 100
在SQL 2014中它的位置在:
C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn
貌似是跟著Client SDK一起被安裝的.
sqlcmd.exe的位置是被加入了環境變數了的, 所以可以在任何路徑下直接調用. 可以通過下面的命令來查看環境變數.
Set | more
可以用以下的方式使用sqlcmd:
命令行中直接互動式執行sql語句
命令行中制定所需執行sql語句的腳本文件和輸出文件
這里再給出一個sqlcmd中直接運行命令的截圖, 除了腳本之外, 這樣也可以更直觀的與SQL Server進行交互.
Ⅷ linux 怎麼執行腳本的語句
這個問題沒表述清楚。
首先先確定這個腳本是用什麼語言寫的?shell?php?python?還是其他;
確定腳本語言後,需要確定該語言的解釋器路徑,比如shell的/bin/sh,比如python的/usr/bin/python,當然源碼安裝的自定義路徑自己應該知道。
執行方式我說兩種,第一種解釋器路徑+空格+腳本名,比如/usr/bin/python test.py。 第二種直接./腳本名執行,但是需要給腳本執行許可權比如chmod +x test.py,還有就是腳本里第一行需要聲明解釋器路徑,這樣腳本才會找到相對應的解釋器去解釋語言,比如腳本里第一行會寫#!/usr/bin/python
如果你說的是shell腳本,則可以/bin/sh -x 腳本名去診斷,也可以單個外部去執行賦值變數,去輸出。