0

编码:

#!/bin/bash
# YAD GUI to the set of Shell Linux script

 frmdata=$(yad --title "Input SRA accession number" --form --field
"SRA ID")


 frmaddr=$(echo $frmdata | awk 'BEGIN {FS="|" } { print $1 }')


  echo $frmaddr > SRAIds.txt files=$(yad --width 100 --height 100
--title "Choose the action you want to be done" \
   --text="  Please enter what to do:" \
   --button="Download Files":"./fetch_sra_yad_zenity.sh"
\ #  calling the other bash script on the button click

   --button="Run alignment" \
   --button="Process variant calling" \
   --button="Cancel" \
   --on-top \
   --center \ )

ret=$?

[[ $ret -eq 1 ]] && exit 0

需要在相关按钮点击时运行 .sh 脚本,而不会使按钮消失。如何解决?谢谢。

4

1 回答 1

0

您的脚本应如下所示:

#!/bin/bash
# YAD GUI to the set of Shell Linux script

frmdata=$(yad --title "Input SRA accession number" /
--form --field "SRA ID")

frmaddr=$(echo $frmdata | awk 'BEGIN {FS="|" } { print $1 }')

echo $frmaddr > SRAIds.txt

files=$(yad --width 100 --height 100 \
--title "Choose the action you want to be done" \
--text="Please enter what to do:" \
--button="Download Files:bash -c ./fetch_sra_yad_zenity.sh" \ 
--button="Run alignment" \
--button="Process variant calling" \
--button="Cancel" \
--on-top \
--center)

ret=$?

[[ $ret -eq 1 ]] && exit 0

如您所见,我补充说:

bash -c

到您的脚本并运行命令。更准确地说,该行应如下所示:

--button='Download Files:bash - "./fetch_sra_yad_zenity.sh"'

这是因为有时您可能需要运行带有空格甚至某些命令的命令 - 因此它们必须用引号引起来。

于 2017-01-28T01:01:37.630 回答