Bash:如何製作可執行腳本

我希望一點一點地發表文章 巴什好吧,我有足夠的資料來逐步教您一些技巧,編寫腳本等等,因此我們的日常任務是自動的,因此顯然可以節省很多時間

現在,我將向您展示基礎知識,您始終需要了解的知識,這將對其餘教程有所幫助😉

如何製作一個.sh腳本?

簡單...非常簡單😀

1. 打開一個終端,在其中寫入以下內容,然後按 [輸入]:

cd $HOME && touch script.sh && chmod +x script.sh

這足以為他們創建一個文件 腳本文件 在其 個人資料夾.

2. 在終端中輸入以下內容:

cd $HOME && echo '#!/bin/bash' > script.sh && echo '# -*- ENCODING: UTF-8 -*-' >> script.sh

3. 準備好了,您的腳本已經準備好😀

如果打開它,我們將得到以下內容:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-

在第二行之後,從那裡開始編寫指令。

例如,我們將告訴您在終端«<°Linux是最好的»😀

我們將使用以下腳本:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
echo "<° Linux es lo mejor"
exit

如何運行或測試.sh腳本?

1. 我們必須轉到腳本所在的文件夾,在上一個示例中,它將是我們的個人文件夾,因此我們打開一個終端,在其中寫入以下內容並按 [輸入]:

cd $HOME

2. 現在,我們通過放置一個點和一個斜杠(後跟),然後加上腳本名稱來執行它,即:

./script.sh

賓果遊戲,我們已經擁有了

這樣做,您將看到...

現在是一個重要的細節,最後,他們應該始終將“出口«

現在好了,僅需等待以後的教程就可以添加了,這裡您將學到 打壞 哈哈。

問候


本文內容遵循我們的原則 編輯倫理。 要報告錯誤,請單擊 這裡.

57條評論,留下您的評論

發表您的評論

您的電子郵件地址將不會被發表。

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   奧斯卡號 他說:

    謝謝朋友,我一直對如何製作script.sh感到好奇,現在該學習了,我將等待下一個教程。

    1.    KZKG ^ Gaara <“ Linux 他說:

      不,很高興he
      您將看到……一點一點地,我將介紹Bash教程,讓我們看看是否有人興奮,學習,我們都變得更好了。

      問候

      1.    何塞 他說:

        嗨,如果您可以為我提供一些我遇到的麻煩的腳本,並且我需要為某個主題做一些事情,那麼我需要您的幫助,我很樂意與我聯繫。
        非常感謝您在

  2.   帕多 他說:

    啊,凡人! 很棒😉

    1.    KZKG ^ Gaara <“ Linux 他說:

      謝謝😀
      請記住,投訴或建議將始終受到好評😉

  3.   塔里貢 他說:

    我喜歡這篇文章,每當我需要一個腳本標題時,我便著手導航,僅在標題中找到以下行:“#!/ Bin / bash”(我很健忘)。 現在,我可以將其寫下來,然後復制並粘貼😀

    1.    KZKG ^ Gaara <“ Linux 他說:

      請記住,它是/ bash和/ sh ...,這是不一樣的哈哈,我曾經花了2天的時間與一個腳本打架,但該腳本對我不起作用,原因是我放了sh而不是bash😀

      您告訴我們任何問題。
      問候

  4.   Xfraniux 他說:

    Jaajajajajaja,這是最簡單的方法,您也可以打開gedit或任何編輯器並複制:

    #!/bin/bash
    # -*- ENCODING: UTF-8 -*-
    echo “<° Linux es lo mejor”
    exit

    然後,我們授予它執行權限...。

    很好的數據..問候

    1.    KZKG ^ Gaara <“ Linux 他說:

      嘿,是的,可以這樣做,但是我不知道...我認為複制/粘貼兩行代碼(實際上可以是一行)會更簡單,就是這樣,準備好具有執行權限和標頭的腳本😀

    2.    貝特霍爾德 他說:

      您好,腳本應始終保存為.sh文件嗎?

      在Windows中,類似的文件是.bat文件。 至於他們的寫作,他們看起來要簡單一些。

  5.   盧卡斯·馬蒂亞斯(Lucas Matias) 他說:

    非常好

    1.    KZKG ^ Gaara <“ Linux 他說:

      謝謝😀

  6.   莫羅那 他說:

    我期待下一篇文章,並暫時記錄下來。

    1.    KZKG ^ Gaara <“ Linux 他說:

      😉
      有什麼建議,腳本要我執行嗎? 😀

  7.   勇氣 他說:

    這是一個不知道如何編程的人嗎? 儘管很容易,但是它是編程

    1.    KZKG ^ Gaara <“ Linux 他說:

      哈哈哈來吧...你興奮嗎? …學習一點Bash,您將了解它的強大之處,您無需知道如何編程,離它還很遠😀

      你說什麼?

      1.    勇氣 他說:

        我會的,今天我不是那個

  8.   匿名 他說:

    實際上,如果要定期創建腳本,則可以使用如下腳本自動執行任務本身(僅複製到$ home / bin /並具有給定的執行權限)


    #!/bin/sh
    # nuevoscript
    if [ $# -eq 0]; then
    DEST=$HOME
    SNAME=script.sh
    elif [ $# -eq 1]; then
    DEST=.
    SNAME="$1"
    else
    echo "Parámetros incorrectos"
    exit -1
    fi
    echo -e '#!/bin/bash\n# -*- ENCODING: UTF-8 -*-' > "$DEST/$SNAME" && \
    chmod +x "$DEST/$SNAME"
    echo "Creado el script $DEST/$SNAME"
    exit 0

    這樣,如果您運行 新劇本 沒有參數,創建 $ home / script.sh,但如果運行 新腳本其他腳本,創建 ./otherscript

  9.   拉美西斯 他說:

    您好朋友,我想知道如何為sdcard創建自動運行方式,並使用Android系統在手機上讀取它,並在執行時啟動abd.exe以及命令bugreport> bugreport.txt

    1.    KZKG ^ Gaara 他說:

      沒主意的朋友...我從來沒有使用過Android。

  10.   Neo61 他說:

    感謝Gaara,我想找到一個可以教給我一些腳本的地方,我認為我在給您的電子郵件中提到了這一點,這確實是我需要學習的。 我按照您詳述的步驟操作,雖然一切都很完美,但無法運行,我得到以下信息:

    ./script.sh:第5行:搜索匹配的“»”時出現意外的EOF
    ./script.sh:第9行:語法錯誤:預計文件末尾

    向我解釋我的失誤是什麼

    1.    KZKG ^ Gaara 他說:

      我的錯,WordPress更改了一些細節,再次查看帖子中的代碼,並將其像這樣放在腳本中。
      發生的事情是:

      “ Asd”

      它與以下內容不同:
      "asd"

  11.   Neo61 他說:

    我不明白,我還是一樣。 零錢在哪裡? 你能更好地解釋我嗎? 現在,當您執行它時,將輸出以下行:
    ./script.sh:第5行:°:文件或目錄不存在

    1.    KZKG ^ Gaara 他說:

      將您正在運行的腳本傳遞給我,將代碼放在此處: http://paste.desdelinux.net
      再次查看帖子,那是我忘記單擊“更新”按鈕button

  12.   Neo61 他說:

    嗨夥伴:
    我會告訴你,我正在查看為conky 2010創建的conkyrc腳本,如果的確是,磁盤符號屬於一個名為Poky的源,但默認情況下它不在Ubuntu 12.04的libreOffice中出現,它將好的,如果您有此資源,請告訴我可以從哪裡下載(確實有點困難),我注意到的一件事是,當放置這些符號的字母並且字體不存在時,系統,然後放字母而不是符號,這是合乎邏輯的,我已經有了一切工作原理的想法,但我需要有人向我解釋一下事情才能更好地理解它,我所做的一切都是通過演繹來實現的我從來沒有做過任何編程,不是我學的計算機科學,而且是另一次,我將計算作為一種愛好,而好事是我在其分支機構中工作,我學到的一切都自學成才,所以我對一個甚至一點一點引導我的人的興趣。 這也是我conky的腳本,我將解釋我沒有得到的內容:

    看,當我嘗試插入另一個HDD時,我會不斷獲得相同的HDD,因為它具有相同的溫度值。 我沒有得到系統中的CPU特性,當我嘗試插入您在2010年的tanias混亂的Conky中放入您放置的日曆並加寬conky條時,它以粗體顯示(NULL)。 看一下您可以進行的所有改進。 我喜歡我所擁有的寬度,並且您的日曆可以適應該寬度,並且我告訴您的所有未顯示的內容都可以顯示出來,就可以了:

    http://paste.desdelinux.net/4552

    –將代碼放入我們的粘貼中,因此註釋不會那麼廣泛–

  13.   GONZALO 他說:

    事實是您的貢獻令人遺憾

  14.   埃德加 他說:

    您好,使用此腳本可以使我的生活更輕鬆。 非常感謝您,因為我是編程方面的專家,所​​以我想知道是否可以給我發送一封描述您的電子郵件。
    謝謝

    1.    KZKG ^ Gaara 他說:

      HOLA,
      更好的是,我無法描述/解釋這些代碼行,您不理解用另一種方​​式解釋什麼?

      同樣,如果您有疑問,可以隨時在我們的論壇中提問:forum.desdelinux.net

      問候😀

  15.   停止 他說:

    貢獻不錯,但您可以舍入...我需要一個sai腳本。 也就是說,當Sai意識到它已經用電池供電並且有20分鐘的時間要關閉時,它會向設備發送信號,並且必須執行腳本來關閉某些服務器。 我不知道我對自己的解釋是否很好。

    謝謝!

  16.   耶穌以色列Perales Martinez 他說:

    要添加到我的模板文件夾的其他內容:B

  17.   edwar 他說:

    有人可以幫我嗎,我需要ubuntu腳本,如果我們關閉Chrome瀏覽器,請再次打開它

    提前致謝

  18.   江戶時代 他說:

    我需要一個腳本,只需執行該腳本即可用另一個文本覆蓋文件的信息,有人知道它是怎麼回事嗎?

    1.    江戶時代 他說:

      我已經看到他們在上面說了怎麼做

  19.   達里奧 他說:

    很好,對我的孫子孫子們非常好。
    萬分感謝。 »以及您有很多年輕人一樣,擔任老師...。那太好了。

  20.   羅馬電腦 他說:

    簡單而實用,應該如此。

    感謝分享。

    問候。

  21.   埃爾南·賈拉米洛(Hernan Jaramillo) 他說:

    謝謝你的幫助。 這很有用,很好的解釋。

  22.   維森 他說:

    謝謝你為我服務。 乾杯

  23.   玩家 他說:

    簡單有效。 新手的好教程tutorial

  24.   路易斯·卡洛斯 他說:

    您好,我對腳本知之甚少,我也不知道我是否混淆了概念,但是我想做的是在以下網頁中:
    http://beginlinux.com/blog/2010/03/iptables-with-network-card-aliases/

    關鍵是我不太了解如何啟動此代碼,或者它是否代替了IPTABLES。 如果是的話,它會像放置它一樣替換它,以便它從操作系統自動啟動。

    謝謝

  25.   克里斯 他說:

    太棒了!

    我開始按照您的解釋做作業,它成功了! 感謝您抽出寶貴的時間與無知的人分享您的知識,以擺脫黑暗。

    😉

  26.   獅子座 他說:

    您好,我對製作用戶創建的腳本有任何疑問,您能幫我嗎?

  27.   年輕 他說:

    你好,我對.sh文件有疑問
    你有什麼辦法嗎
    我與您聯繫以查看我是否做對了?

    #!/ system / bin / sh
    掛載-o重新掛載,rw /
    mkdir /mnt/local/Android/data/org.xbmc.xbmc/files/.xbmc
    ln -s /mnt/local/Android/data/org.xbmc.xbmc/files/.xbmc /.xbmc
    掛載-o重新掛載,ro /

    ,我可以在終端中手動運行它,如果可以運行,但是當我希望文件運行時,它並不想運行。

  28.   路易士 他說:

    我在vivaolinux.com.br上找到了這個,很棒

    #!/斌/慶典

    基於Gera.sh-Geracabeçalho的腳本

    撰寫者:Sandro Marcell P. Barbosa(Boa Vista-Roraima)

    電子郵件: sandro_marcell@yahoo.com.br

    Slackware GNU / Linux 10.1.0

    用法示例:script_name my_script

    您還可以指定擴展名,一致性或解釋器。

    例如。:o口譯員'sh'的nome_script backup.sh

    或“ tcl”解釋器的nome_script backup.tcl以及當天的信息!

    定義您可以的解釋器(代替另一個!):

    INTERPRETER =»#!/ Bin / sh»

    標頭內容(根據您的喜好進行更改!):

    信息=»##»
    創建者=»##撰寫者:»
    EMAIL =»##電子郵件: you@correo.com»
    DISTRO =»##»

    檢查用戶是否指定了腳本名稱:

    如果[$#-eq 0]; 然後
    echo“ >>>用法:$(基本名$ 0)”
    出口
    fi
    如果[$#-ge 2]; 然後
    迴聲“帶空格的名稱無效!”
    出口
    fi

    用戶可以寫入當前目錄嗎?

    如果[! -w $ PWD]; 然後
    echo“沒有寫當前目錄的權限!”
    出口
    fi

    如果當前目錄中還有另一個同名腳本怎麼辦?

    如果[-f $ 1]; 然後
    echo“此目錄中已經存在一個具有相同名稱的腳本!”
    出口
    fi

    腳本主體:

    (
    貓<<結束
    $解釋器

    $信息
    $創建者
    $ EMAIL
    $ DISTRO

    現在在後續行上添加命令=)

    此腳本的創建日期:$(日期«+%a%d /%m /%Y»),日期為$(日期«+%T»)

    END
    )> $ 1

    設置執行權限:

    如果[-f $ 1]; 然後
    chmod + x $ 1 2> /開發/標準輸出
    回顯“腳本$ 1已創建並允許執行!”
    fi

    該腳本的創建日期:29年01月2013日19:45:00

    1.    debianistrowler 他說:

      太好了,它運作完美!

  29.   維森特 他說:

    非常好的教程,簡單,對我有很大幫助,謝謝

  30.   卡利基 他說:

    尊敬的KZKG:我是新手,但我對學習感興趣。
    您還有其他股票。 或突然在我工作的地方,我想打開一個已編譯但看不到的文件。
    有任何想法嗎。

  31.   卡利基 他說:

    我需要腳本的幫助。 它被編譯。

  32.   酷9 他說:

    我了解bash,但是如果我想創建一個自動別名,它就不會出現

  33.   安吉塞利塔 他說:

    非常感謝您的幫助。

    我想知道您是否可以幫我一個大忙,我需要創建一個腳本來幫助我在某個時間創建.sum,但是我不知道如何對其進行參數化。 您也許可以通過一些指示幫助我。 謝謝,如果您能幫助我,我會注意的。

    問候

  34.   何塞 他說:

    您好,下午好,看,我正在lex中工作,所以我想請您幫我一個腳本,我可以用它運行lex文件,一個生成lex的文件(lex.yy.c)和數據輸入文件。 。

    非常感謝

  35.   威爾默·羅恩 他說:

    豆瓣謝謝doc! 我是該腳本的新手,非常感謝您的問候,我將在您的新補習中與您聯繫!

  36.   卡倫·維加(Karen vega) 他說:

    您好!

    非常感謝您的貢獻,我開始接觸unix,很少有人會以這種簡單的方式解釋這種代碼。 我想問一下您是否可以使用您的程序創建一個腳本,以幫助我找到位於同一路徑的n個文件,並將其複製到另一個文件夾...有人告訴我可以將txt的路徑和名稱存儲在txt中。我的文件,但我不清楚該怎麼做。 我仍然很專心。

    您好!

  37.   伊巴爾·阿瑪亞(Eibar Amaya) 他說:

    您好,我有一個VPS,但是我自己需要一些幫助orita我對如何創建腳本或某些東西很感興趣,這樣我就可以對/根文件夾中的所有內容進行自我備份,並且如果我每1個小時運行一次備份您能幫助我嗎?

    如果您想幫助我,我會離開您的臉書,我需要很多幫助🙂

  38.   豪爾赫·羅德里格斯(Jorge Rodriguez) 他說:

    創建一個我來ping和監視公司中的某些網絡設備
    但是我很簡單

    觸摸red.sh && chmod + x red.sh
    扔出去 '# --編碼:UTF-8--'>> red.sh
    迴聲'ping 10.50.0.125 -w 5'>> red.sh
    迴聲'ping 10.50.0.80 -w 5'>> red.sh

    運行它./red.sh並運行

  39.   吉列爾莫 他說:

    親愛的,我需要創建一個自動安裝腳本。 我願意為做得好的工作付出代價。 那些有興趣的人,請給我發送電子郵件至 carranzalh@gmail.com。 格拉西亞斯

  40.   薩里 他說:

    他們吸我的公雞XD

  41.   德士 他說:

    早上好朋友,你能幫我一些忙嗎
    我需要使用該公司的linux進行備份,因為這樣做比較安全,這樣病毒就不會感染它,但是我不知道該怎麼做
    我需要創建一個腳本來打包文件並將其發送到ftp

    我希望提前寫信給我的電子郵件

    cesarloscor@gmail.com