shell(Linux、Solaris) bat(windows) 含義
# rem 注釋行
/【directory】/【directory】/.../【directory】/ 【disk】:\【directory】\【directory】\...\【directory】\ path
【變量】=【文件名】,LBSAM set 【變量】=【文件名】,BSAM 把文件名賦值給變量
【變量】=【設定值】
【變量】="【設定值】"
【變量】='【設定值】'
【變量】=【設定值】; export 【變量】
export 【變量】=【設定值】
set 【變量】=【設定值】 變量的賦值
unset 【變量】 set 【變量】= 變量的初始化
${【變量】}
$【變量】
%【變量】%
變量的引用
※如果變量在if語句和for循環中被賦值了的話,
在引用的時候需要用!【變量】!。
※如果使用!【變量】!,要添加(延遲環境變量)
setlocal enabledelayedexpansion
$【數字】
${【數字】}
%【數字】 shell/bat啟動的時候,傳入的第【數字】個參數
$1/%1 →啟動時傳入的第一個參數
【變量】=`basename $0 .sh` set 【變量】=%~n0
本shell/bat的文件名字賦值給變量
test1.sh/test.bat → 變量=test
【變量】=`dirname 【文件】` for %%i in ("【文件】") do (set 【變量】=%%~dpi)
取得所在文件路徑賦值給變量
例 :
shell:
path1=`dirname /home/dir1/dir2/test.txt`
↓
path1=/home/dir1/dir2
bat :
for %%i in ("D:\dir1\dir2\test.txt") do (
set path2=%%~dpi
)
↓
path2=D:\dir1\dir2
【變量】=`basename 【文件】` for %%i in ("【文件】") do (set 【變量】=%%~nxi) 取得所在文件路徑賦值給變量
例 :
shell:
filename1=`dirname /home/dir1/dir2/test.txt`
↓
filename1=test.txt
bat :
for %%i in ("D:\dir1\dir2\test.txt") do (
set filename2=%%~dpi
)
↓
filename2=test.txt
【變量】=$? set 【變量】=%errorlevel% 上一個命令執行的結果賦值給變量
if [ 【條件】 ]; then
【處理1】
else
【處理2】
fi if 【條件】 (
【處理1】
) else (
【處理2】
)
※shell里面的if語句(if test 【條件】)和
(if [ 【條件】 ])意思一樣
if [ $【變量】 -eq 【數值】 ]; then if %【變量】% equ 【數值】 ( 等於
if [ $【變量】 -ne 【數值】 ]; then if %【變量】% neq 【數值】 ( 不等於
if [ $【變量】 -lt 【數值】 ]; then if %【變量】% lss 【數值】 ( 小於
if [ $【變量】 -le 【數值】 ]; then if %【變量】% leq 【數值】 ( 小於等於
if [ $【變量】 -gt 【數值】 ]; then if %【變量】% gtr 【數值】 ( 大於
if [ $【變量】 -ge 【數值】 ]; then if %【變量】% geq 【數值】 ( 大於等於
if [ $【變量】 = "【字符串】" ]; then if %【變量】%==【文字列】 ( 等於
if [ $【變量】 != "【字符串】" ]; then if not %【變量】%==【文字列】 ( 不等於
if [ -e 【文件 or 文件夾】 ]; then if exist 【文件 or 文件夾】 ( 文件或文件夾存在
if [ ! -e 【文件or 文件夾】 ]; then if not exist 【文件 or 文件夾】 ( 文件或文件夾不存在
if [ -f 【對象】 ]; then for %%A in ("【對象】") do (set 【變量】=%%~aA)
if "%【變量】:~0,1%"=="-" (
對象是文件
※shell里面如果是if [ ! -f 【對象】 ]; then的時候,對應的bat是
if not "%【變量】:~0,1%"=="-" (
意思是判斷對象是否是文件以外
if [ -d 【對象】 ]; then for %%A in ("【對象】") do (set 【變量】=%%~aA)
if "%【變量】:~0,1%"=="d" ( 對象是文件夾
if [ -s 【文件】 ]; then for %%A in ("【文件】") do (set 【變量】=%%~zA)
if %【變量】% gtr 0 ( 文件的size大於0
————————————————
版權聲明:本文為CSDN博主「怠惰的小小白」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_35462323/java/article/details/89335870