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:dir1dir2 est.txt") do (
set path2=%%~dpi
)
↓
path2=D:dir1dir2
【变量】=`basename 【文件】` for %%i in ("【文件】") do (set 【变量】=%%~nxi) 取得所在文件路径赋值给变量
例 :
shell:
filename1=`dirname /home/dir1/dir2/test.txt`
↓
filename1=test.txt
bat :
for %%i in ("D:dir1dir2 est.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