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 |
linux下shell文件与windows下bat文件互相转换
最新推荐文章于 2024-07-25 10:33:41 发布