选择后关闭选择对话框并继续运行shell命令

选择后关闭选择对话框并继续运行shell命令

使用xfce4-面板在 openbox 中,我设法添加了一个壳并用氮气改变了图片的背景。

当我尝试添加select dialog box在随机和经典两种方法之间进行选择(第一种方法随机选择图片,而第二种方法按顺序选择图片)时
,一切都正常。

只是终端仍然保持打开状态,这看起来很奇怪。我希望终端自动关闭而不退出脚本。

我看到很多主题,例如:nohup 和 disown 不起作用,因为退出命令之后一切都会被终止,而不是进入后台。

Code : nature.sh
#!/bin/bash
x=0
nu=$(ls ~/Images/Wallpapers/nature/*.jpg | wc -l)
cd /home/badr/Images/Wallpapers/nature
number=0

while [ $x -ne 1 ];
        do
        if [ $number -eq $nu ];then 
        number=0
        fi
        #number=$(( $((RANDOM)) % nu ))
        number=$((number + 1))
        nitrogen --set-scaled --save nature$number.jpg
        sleep 10
done

Code: nature2.sh
#!/bin/bash
x=0
nu=$(ls ~/Images/Wallpapers/nature/*.jpg | wc -l)
cd /home/badr/Images/Wallpapers/nature
number=0

while [ $x -ne 1 ];
        do
        #if [ $number -eq $nu ];then 
        #number=0
        #echo $number
        #fi
        number=$(( $((RANDOM)) % nu ))
        number=$((number + 1))
        nitrogen --set-scaled --save nature$number.jpg
        sleep 10
done
Code : choose.sh
#!/bin/bash
echo "Veuillez choisir le mode de rotation des images?"
select yn in "Random" "Recurcive"; do
    case $yn in
        Random )nohup '/home/badr/Images/Wallpapers/nature/nature2.sh'& 
        bash /home/badr/Images/Wallpapers/nature/nature2.sh; break;;
        Recurcive )nohup '/home/badr/Images/Wallpapers/nature/nature.sh'&
         bash /home/badr/Images/Wallpapers/nature/nature.sh;exit;;
    esac
done

答案1

实际上,经过长时间的搜索后,我发现仅使用 shell 几乎不可能完成我想要做的事情,所以我将 shell 的力量与另一种可以与 C 语言很好地配合的编程语言结合起来。

我使用 SDL 和 C 来构建我想要的东西。现在,我在程序中添加了很多功能,比如时间控制和使用个性化目录。我对我所做的很满意。谢谢

相关内容