我正在尝试将dotnet(.NET Core)与cron作业一起使用,但似乎dotnet的路径变量不存在于cron的范围内。我想添加到cron的路径,但我需要知道从典型的Ubuntu安装中实际安装了dotnet的位置。也知道如何将路径变量添加到cron也会有所帮助,但我想我可以在我有dotnet安装目录后弄明白。
答案 0 :(得分:2)
看到Gomes的评论后,我检查了一下,看来两者在我的系统中都是有效的:
$ /usr/bin/dotnet --version
2.1.400
$ /usr/share/dotnet/dotnet --version
2.1.400
我做了更多的研究,看来在许多Unix方言中(根据https://kb.iu.edu/d/acec)找到此问题的常用方法是借助whereis
命令:
$ whereis dotnet
dotnet: /usr/bin/dotnet /usr/share/dotnet /usr/share/man/man1/dotnet.1.gz
但经过进一步的审查,我发现/usr/bin/dotnet
只是与/share/dotnet/dotnet
的符号链接:
/usr/bin$ ll dotnet
lrwxrwxrwx 1 root root 22 Jun 29 17:48 dotnet -> ../share/dotnet/dotnet*
该页面还显示了如何查看运行在终端which command
中键入的命令时操作系统使用哪个:
$ which dotnet
/usr/bin/dotnet
答案 1 :(得分:1)
默认情况下,.NET Core(“dotnet”)安装在/ usr / share / dotnet /
据我所知,无法为cron永久设置路径环境变量,但可以通过在需要变量的部分之前向crontab文件添加脚本来临时设置(参见here )
或者,你可以在crontab中指定dotnet的绝对路径,即/usr/share/dotnet/dotnet run --project /path/to/csproj/