linux下shell文件与windows下bat文件互相转换
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux下shell文件与windows下bat文件互相转换,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3106字,纯文字阅读大概需要5分钟。
内容图文
![linux下shell文件与windows下bat文件互相转换](/upload/InfoBanner/zyjiaocheng/940/16290c20842d4c6d889806516280bfd7.jpg)
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
内容总结
以上是互联网集市为您收集整理的linux下shell文件与windows下bat文件互相转换全部内容,希望文章能够帮你解决linux下shell文件与windows下bat文件互相转换所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。