zoukankan      html  css  js  c++  java
  • linux下shell文件与windows下bat文件互相转换

    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

  • 相关阅读:
    Eular质数筛法
    质数测试
    求树的直径
    常用排序的实现方法(数据结构)
    关于整数的整数因子和问题的若干研究(数学)
    状态压缩中常用的位运算(DP)
    舞蹈链--求精密覆盖(数据结构)
    高斯消元模板,整数(数学)
    树状数组 (数据结构)
    二叉树还原--通用类型模板类(数据结构)
  • 原文地址:https://www.cnblogs.com/softidea/p/12626026.html
Copyright © 2011-2022 走看看