Shell
Table of Contents
shell note.
<!– more –>
CMD
常用功能
echo "hello world" :: 打印目录下的所有 proto 文件 for %%i in (*.proto) do ( echo %%i )
显示环境变量
echo %PATH%
bat 窗口暂停
pause
ftp 上传文件
@Echo Off Echo open 10.10.10.245 >ftp.up Echo ftp>>ftp.up Echo ftp>>ftp.up Echo cd .\ >>ftp.up Echo binary>>ftp.up :: 上传文件 Echo put "./ftp_tool.bat">>ftp.up :: 上传文件夹 :: 创建文件夹 Echo mkdir test_dir>>ftp.up :: 断开链接 Echo bye>>ftp.up FTP -s:ftp.up del ftp.up /q pause
定义变量
set buildPlatform=IOS echo %buildPlatform%
PowerShell
常用功能
注释
单行注释如下 # 这是一个单行注释 多行注释如下 <# 多行注释 块注释 #>
打印环境变量
$env:Path.split(';')
创建 Powershell profile
# 执行下面命令,会打印出 profile 文件的路径 $profile # 执行下面命令,测试 profile 文件是否存在 test-path $profile # 执行下面命令,新建 profile 文件 new-item -path $profile -type file -force # 设置执行策略,允许执行 profile Set-ExecutionPolicy -ExecutionPolicy Unrestricted
创建 Alias
# 设置 notepad.exe 的快捷方式 Set-Alias -Name np -Value C:\Windows\notepad.exe # 设置 cd-xxx 的快捷方式 function cd-proj { set-location "D:/Documents/MyProject/" } # 调用 import-module 导入定义的全局函数 # 否则会提示命令不存在 无法将“cd-home”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。 import-module d:/Documents/MyCore/Config/PowershellConfig/my_ps_config.ps1
Powershell 中从 explorer 打开路径
# ii 为 Invoke-Item 的 Alias ii d:\Documents\
Powershell which
Shell
常用功能
删除文件目录
#删除当前目录下所有文件 rm -rf *
显示环境变量
echo ${PATH} echo $PATH
chmod
# 修改目录下所有文件的访问权限 a 表示 all sudo chmod -R a+rw ./my_dir
<!– more –>
获取命令返回值 获取命令输出内容
# 获取命令 echo 返回结果: echo "HelloWorld" if [ "$?" == 0 ] then echo "return value is 0" else echo "return value is not 0! return="$? fi # 获取命令 echo 输出内容 outValue=`echo "HelloWorld"` if [ "$outValue" == "HelloWorld" ] then echo "outValue is ->"$outValue else echo "outValue value is not HelloWorld! outValue="$outValue fi
刷新 dns
# windows ipconfig /flushdns # linux /etc/rc.d/init.d/nscd restart service network restart
后台运行
nohup ./my-shell-script.sh &
注意事项
- 尽量使用 python 来代替 cmd 和 shell 脚本