Score:0

How to launch default browser from bash script

ธง cn

How do I launch the default Web browser from within a script? In the below script, the browser opens when the script is successfully run as an executable shell script:

#!/bin/bash
cd $1
php -S 127.0.0.1:5000
for f in *.html; do cp -- "$f" "${f%.html}.php"; done
x-www-browser http://127.0.0.1:5000/index.php

However, in this longer version with Kdialog UI, everything executes correctly (the files are created and the server starts in the chosen directory) except for the launching of the browser

#!/bin/bash
`kdialog --yesno "HTML Files created, make PHP?"`
    if [ $? = 1 ]; then
    `kdialog --sorry "No PHP files created"`
    exit 1 
    fi;
    if [ $? = 0 ]; then
    `kdialog --warningcontinuecancel "Select HTML directory"`
        if [ $? = 0 ]; then
        cd `kdialog --getexistingdirectory`
        #exit 1
        else
        `kdialog --warningyesno "You didn't select a directory. \
        <br>Yes to choose, No to cancel."`
        if [ $? = 0 ]; then
        cd `kdialog --getexistingdirectory`
        exit 1
        fi;
        fi;
    fi;
        if [ $? = 0 ]; then
PORTNO=`kdialog --title "Port Number" --inputbox "Port: (Eg 7000)"`
        fi;
         if [ $? = 1 ]; then
         `kdialog --warningyesno "You didn't enter a port. <br>Yes to coose, No to cancel."`
         if [ $? = 0 ]; then
         PORTNO=`kdialog --title "Port Number" --inputbox "Port: (Eg 7000)"`
         fi;
         fi;
         if [ $? = 0 ]; then
COPYORNEW=`kdialog --radiolist "Copy HTML or make new files?:" 1 "Copy \
HTML files" off 2 "Rename HTML files" off`
         else
         exit 1
        fi;
    if [ "$COPYORNEW" = 1 ]; then
    php -S 127.0.0.1:$PORTNO
    for f in *.html; do cp -- "$f" "${f%.html}.php"; done
    #x-www-browser http://127.0.0.1:$PORTNO
    exit 1
    elif [ "$COPYORNEW" = 2 ]; then
    php -S 127.0.0.1:$PORTNO
    for f in *.html; do mv -- "$f" "${f%.html}.php"; done
    #x-www-browser http://127.0.0.1:$PORTNO
    exit 1
    fi;
URL="http://127.0.0.1:$PORTNO"; xdg-open $URL || sensible-browser $URL || x-www-browser $URL || gnome-open $URL

In both the short- and long-form versions, the command to open the browser is the last.

hr flag
คุณแน่ใจหรือไม่ว่าต้องการ `ออกจาก 1` จากสคริปต์หลังจากคำสั่งคัดลอก ฉันไม่ได้ติดตามตรรกะทั้งหมด แต่ดูเหมือนว่าสคริปต์จะไม่ถึงบรรทัดสุดท้าย
jpbrain avatar
ca flag
คุณลอง xdg-open "$URL" ได้ไหม
Mark Lee avatar
cn flag
นั่นเป็นตัวเลือกแรกในรายการ @jpbrain ฉันลองใช้เครื่องหมายคำพูดตามที่คุณมี แต่ก็ไม่ได้สร้างความแตกต่าง
jpbrain avatar
ca flag
สวัสดี @MarkLee ฉันลองบรรทัดสุดท้ายในเชลล์และใช้งานได้
Score:0
ธง ca

ฉันลองบรรทัดสุดท้ายในเชลล์และใช้งานได้ ความหมาย. ให้ค่ากับ PORTNO และดำเนินการบรรทัดสุดท้าย

#!/bin/bash
พอร์ทโน=5000
URL="http://127.0.0.1:$PORTNO"; xdg-เปิด $URL || เบราว์เซอร์ที่เหมาะสม $URL || x-www-เบราว์เซอร์ $URL || gnome-เปิด $URL

มันทำงานบนระบบของฉัน (เดสก์ท็อป 20.04.2)
ตรรกะโอเคไหม? ดูเหมือนว่า @steeldriver จะมีประเด็นอยู่ตรงนั้น

ความนับถือ.

Mark Lee avatar
cn flag
ฉันได้ลองถอดทางออกแล้ว แต่ไม่ประสบความสำเร็จ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา