场景:
用supervisor代理dotnet程序,指定sh文件中dotnet XXX.dll来运行.net core发布的程序。但是报错: dotnet: 未找到命令
解决方案:
用下面的语句:
ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet
通过创建一个软连接(类似快捷方式),其中-s是软连接,第一个参数是原来的文件地址,实际的文件;第二个参数是虚拟的文件地址
网上资料说这其实是环境变量的问题,部分版本liunx不能自动配置环境变量。可以通过以下语句查看变量:
echo $PATH
其中路径用:隔开。
我的理解是通过最上面的语句创建软连接,而环境变量中存在路径/usr/bin,从而使dotnet命令先是指导/usr/bin/dotnet,再到实际的文件地址
参考:
https://www.cnblogs.com/puzi0315/p/15550312.html
https://blog.csdn.net/wuyaozheng/article/details/120745676?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&utm_relevant_index=2
https://blog.csdn.net/RainyLin/article/details/108640058