-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

ターミナルウィンドウの問題を修正するには:

問題は、PATHが正しくないことです。現在のディレクトリを含める必要があります

最初の修正は実行することですsh ./TaskC.sh-これは、現在のディレクトリで何かを実行するたびに実行する必要があります

2つ目は、PATHを次のように設定export PATH=$PATH:.することです。これにより、シェルの現在の呼び出しに対してPATHが修正されます。ログインするたびに設定されるように、その行を.bashrcに追加します

于 2013-03-21T11:56:04.700 に答える
0

で試してみてください./TaskC.sh

もちろん、スクリプトと同じディレクトリにいる必要があります。どこからでも実行したい場合は、PATHに追加する必要があります(KevinDTimmの回答を参照)

于 2013-03-21T11:59:27.803 に答える