-1

当我双击一个可执行文件时,单击运行后它不会运行。我用几个.sh文件和一些下载的软件试过了,有人知道为什么吗?

我需要运行的特定 .sh 文件是 zenity 菜单。当我在终端尝试时,它只是说

sh: Can't open TaskC.sh

那是在我使用之后

sh TaskC.sh

在文件中,我使用属性使其可执行并使用

chmod 755 TaskC.sh
  1. 有谁知道我如何在没有终端的情况下运行它?
  2. 任何人都知道我怎样才能让 .sh 在终端中运行?

我的代码只是以防万一这就是问题所在

#!/bin/bash
#GUI for TaskB menu
chmod 755 TaskC.sh
    temp='mktemp -t temp.XXXXXX'
    temp2='mktemp -t temp2.XXXXX'

function software {
sudo get-apt install gparted gnome-desk-utility
zenity --text-info --title "Install Software" --filename=$temp
--width 750 --height 10}

function create {
touch > Desktop/CET103Demo.txt
zenity --text-info --Title "Create CET103Demo.txt" --filename=$temp
--width 300 --height 500}

function delete {
rm Desktop/CET103Demo.txt
zenity --text-info --title "Remove CET103Demo.txt" --filename=$temp
--width 300 --height 500}

function search {
grep -H -r "BASH" /home/mintuser/.profile
zenity --text-info --Title "Search BASH" --filename=$temp
--width 300 --height 500}

while [ 1 ]
do

zenity --list --radiolist --title "TaskC Menu" --column "Select" --column "Menu     Selection"
FALSE "Install Software" FALSE "Create file" FALSE "Remove File" FALSE "Search BASH"   False  "Exit"   > $temp2
if [ $? -eq 1 ]
then
break fi
    selection ='cat $temp2'
    case $selection in
    "Install Software")
        software;;
    "Create File")
        create;;
    "Remove File")
        delete;;
    "Search BASH")
        search;;
    Exit)
break ;; *)
zenity --info "Sorry, invalid selection" esac
done $

非常感谢

4

2 回答 2

0

尝试./TaskC.sh

当然,您必须与脚本位于同一目录中。如果您想从任何地方执行它,您需要将它添加到您的 PATH 中(请参阅 KevinDTimm 的答案)

于 2013-03-21T11:59:27.803 回答
0

要解决终端窗口中的问题:

问题是您的 PATH 不正确,您必须包含当前目录

第一个修复是运行sh ./TaskC.sh- 每次在当前目录中运行某些东西时都必须这样做

第二个是设置你的PATH export PATH=$PATH:.- 这将为你的shell的当前调用修复它。将该行添加到 .bashrc 以便在您每次登录时进行设置

于 2013-03-21T11:56:04.700 回答