UP | HOME

Shell

Table of Contents

shell note.

<!– more –>

CMD

常用功能

print

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\

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 脚本