我已将以下行添加到.bashrc文件中:
alias midos="sh /home/erkanmdr/Belgeler/midos/midos.sh"
Run Code Online (Sandbox Code Playgroud)
此命令在终端和 tty 中运行良好。但不适用于我的 .desktop 快捷方式文件。
midos.desktop 文件:
[Desktop Entry]
Name=MiDoS
Exec=midos
Icon=/home/erkanmdr/Belgeler/midos-128.png
Terminal=true
Run Code Online (Sandbox Code Playgroud)
如何midos在 .desktop 快捷方式文件中执行我的命令?
Rad*_*anu 26
虽然其他答案为您的问题提供了一个很好的解决方法,但要回答您的问题,在 .desktop 文件中使用别名的正确方法是:
Exec=bash -ic "midos"
Run Code Online (Sandbox Code Playgroud)
那是因为~/.bashrc文件中的别名只能
在bash 交互式 shell 中工作(-i在这种情况下使用选项来启动 bash 交互式)。
如果另一个用户想要使用相同的 .desktop 文件,那么他必须也定义了该别名。
如果 GUI 对您的 shell 有任何想法,我会非常惊讶。您应该将完整路径放在桌面文件中:
Exec=/home/erkanmdr/Belgeler/midos/midos.sh
Run Code Online (Sandbox Code Playgroud)
并确保您的脚本是可执行的。
小解决办法。
将它添加#!/bin/bash到脚本的第一行(如果它还没有)。
例如你之前的脚本:
sometext1
sometext2
sometext3
sometext4
Run Code Online (Sandbox Code Playgroud)
您在以下之后编写脚本:
#!/bin/bash
sometext1
sometext2
sometext3
sometext4
Run Code Online (Sandbox Code Playgroud)
现在将您的脚本复制到/usr/local/bin,并使其可执行:
sudo cp /home/erkanmdr/Belgeler/midos/midos.sh /usr/local/bin/midos
sudo chmod +x /usr/local/bin/midos
Run Code Online (Sandbox Code Playgroud)
之后它应该可以正常工作。
| 归档时间: |
|
| 查看次数: |
3331 次 |
| 最近记录: |