Bash: Cách tạo một tập lệnh thực thi

Tôi muốn từng chút một để đưa các bài báo lên Cú đánhChà, tôi có đủ tài liệu để dạy bạn từng mẹo nhỏ, tạo kịch bản và hơn thế nữa, để các công việc hàng ngày của chúng ta được thực hiện tự động, vì vậy rõ ràng nó sẽ giúp chúng ta tiết kiệm rất nhiều thời gian

Bây giờ tôi sẽ chỉ cho bạn những điều cơ bản, những gì bạn sẽ luôn cần biết và điều đó sẽ giúp tôi trong phần còn lại của hướng dẫn 😉

Làm thế nào để tạo một tập lệnh .sh?

Đơn giản ... rất đơn giản 😀

1. Mở một thiết bị đầu cuối, trong đó viết dòng chữ sau và nhấn [Đi vào]:

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

Điều này sẽ đủ để tạo một tệp cho họ tập lệnh.sh trong của nó thư mục cá nhân.

2. Trong thiết bị đầu cuối đặt như sau:

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

3. Sẵn sàng, bạn đã có sẵn kịch bản của mình 😀

Nếu chúng ta mở nó, chúng ta sẽ có một cái gì đó như thế này:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-

Sau dòng thứ hai, từ đó các hướng dẫn được viết.

Ví dụ: chúng tôi sẽ yêu cầu bạn hiển thị cho chúng tôi trong một thiết bị đầu cuối «<° Linux là tốt nhất»😀

Chúng tôi sẽ có kịch bản như sau:
#!/bin/bash
# -*- ENCODING: UTF-8 -*-
echo "<° Linux es lo mejor"
exit

Làm thế nào để chạy hoặc kiểm tra một tập lệnh .sh?

1. Chúng ta phải đi đến thư mục chứa tập lệnh, trong ví dụ trước nó sẽ là thư mục cá nhân của chúng ta, vì vậy chúng ta mở một thiết bị đầu cuối, trong đó chúng ta viết như sau và nhấn [Đi vào]:

cd $HOME

2. Bây giờ chúng ta thực thi nó bằng cách đặt một điểm và một dấu gạch chéo (theo sau), và theo sau là tên của script, đó là:

./script.sh

Và bingo, chúng tôi đã có nó 😀

Làm điều đó và bạn sẽ thấy ...

Bây giờ là một chi tiết quan trọng, ở phần cuối họ nên đặt «ra«

Và bây giờ, không có gì để thêm, chỉ cần chờ các hướng dẫn trong tương lai, ở đây bạn sẽ học bash HẢ!

Liên quan


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   Oscar dijo

    Cảm ơn bạn, mình luôn tò mò về cách tạo script.sh, bây giờ là lúc tìm hiểu, mình sẽ chờ các bài hướng dẫn tiếp theo.

    1.    KZKG ^ Gaara <"Linux dijo

      Không, rất vui hehe 😀
      Bạn sẽ thấy ... từng chút một, tôi sẽ đưa ra các hướng dẫn về Bash, để xem liệu ai đó có hứng thú, học hỏi và tất cả chúng ta đều trở nên tốt hơn HAHA.

      Liên quan

      1.    jose dijo

        Xin chào, tôi rất cần sự giúp đỡ của bạn nếu bạn có thể giúp tôi một số kịch bản mà tôi gặp khó khăn và tôi cần thực hiện cho một chủ đề, tôi rất muốn liên hệ với tôi.
        Cảm ơn bạn rất nhiều trước

  2.   Pardo dijo

    A phàm trần !! tuyệt vời 😉

    1.    KZKG ^ Gaara <"Linux dijo

      Cảm ơn 😀
      Hãy nhớ rằng những lời phàn nàn hoặc đề xuất sẽ luôn được đón nhận 😉

  3.   taregon dijo

    Tôi thích bài đăng, bất cứ khi nào tôi cần tiêu đề tập lệnh, tôi bắt tay vào điều hướng chỉ để tìm dòng: "#! / Bin / bash" trong tiêu đề (tôi rất hay quên). Bây giờ với đóng góp này, tôi có thể chú thích nó và chỉ cần sao chép và dán 😀

    1.    KZKG ^ Gaara <"Linux dijo

      Hãy nhớ rằng nó là / bash và / sh… nó khác nhau haha, tôi đã từng dành 2 ngày để đấu tranh với một kịch bản không phù hợp với tôi như mong đợi, và đó là vì tôi đã đặt sh thay vì bash 😀

      Mọi thắc mắc bạn cho chúng tôi biết.
      Liên quan

  4.   xfraniux dijo

    Jaajajajajaja và đây là cách đơn giản nhất, bạn cũng có thể mở gedit hoặc bất kỳ trình chỉnh sửa nào và sao chép:

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

    Và sau đó chúng tôi cấp cho nó quyền thực thi….

    dữ liệu rất tốt .. lời chào

    1.    KZKG ^ Gaara <"Linux dijo

      hehe yeah, điều đó có thể được thực hiện như thế này, nhưng tôi không biết ... Tôi nghĩ sẽ đơn giản hơn nếu thực hiện sao chép / dán hai dòng (thực ra có thể là một) và thế là xong, kịch bản đã sẵn sàng quyền thực thi và tiêu đề 😀

    2.    hoang dã dijo

      Xin chào. Các tập lệnh có nên luôn được lưu dưới dạng tệp .sh không?

      Trong windows, nó tương tự là các tệp .bat. Và đối với văn bản của họ, họ trông đơn giản hơn một chút.

  5.   Lucas Matthias dijo

    Rất tốt che

    1.    KZKG ^ Gaara <"Linux dijo

      Cảm ơn 😀

  6.   arthur molina dijo

    Tôi mong đợi bài viết tiếp theo và ghi chú trong thời gian này.

    1.    KZKG ^ Gaara <"Linux dijo

      ????
      Bất kỳ đề xuất, kịch bản mà bạn muốn tôi làm hoặc điều gì đó? 😀

  7.   SỰ KHÍCH LỆ dijo

    Đây là người không biết lập trình? Mặc dù nó dễ dàng, nó là lập trình

    1.    KZKG ^ Gaara <"Linux dijo

      HAHAHA nào ... bạn có hào hứng không? … Tìm hiểu một chút về Bash, bạn sẽ thấy nó tuyệt vời như thế nào, bạn không cần biết lập trình, còn lâu mới có 😀

      bạn nói gì?

      1.    SỰ KHÍCH LỆ dijo

        Tôi sẽ, hôm nay tôi không làm điều đó

  8.   Vô danh dijo

    Trên thực tế, nếu các tập lệnh được tạo thường xuyên, thì bản thân tác vụ cũng có thể được tự động hóa bằng một tập lệnh như sau (nó chỉ được sao chép vào $ home / bin / và được cấp quyền thực thi)


    #!/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

    Theo cách này, nếu bạn chạy kịch bản mới không có tham số, hãy tạo $ home / script.sh, nhưng nếu nó chạy script mới script khác, tạo ./otherscript

  9.   Ramses dijo

    Xin chào bạn, tôi muốn biết làm cách nào tôi có thể tạo autorun cho sdcard và nó có thể đọc được bằng điện thoại của tôi với android và khi nó được thực thi, tôi bắt đầu started Abd.exe cộng với lệnh bugreport> bugreport.txt

    1.    KZKG ^ Gaara dijo

      Không biết bạn à ... Tôi chưa bao giờ sử dụng Android.

  10.   Neo61 dijo

    Cảm ơn Gaara, tôi muốn tìm một nơi mà tôi có thể được dạy một số kịch bản, tôi nghĩ rằng trong một email tôi đã đề cập điều này với bạn, đó thực sự là điều tôi cần học. Tôi đã làm theo các bước bạn nêu chi tiết và mọi thứ đều hoàn hảo nhưng nó không chạy, tôi nhận được điều này:

    ./script.sh: dòng 5: EOF không mong muốn khi tìm kiếm một `» 'phù hợp
    ./script.sh: dòng 9: lỗi cú pháp: phần cuối của tệp không được mong đợi

    Giải thích cho tôi sai lầm của tôi là gì

    1.    KZKG ^ Gaara dijo

      Lỗi của tôi, WordPress thay đổi một số chi tiết, hãy xem lại mã trong bài đăng và đặt nó như thế này trong tập lệnh của bạn.
      Điều gì xảy ra là:

      "Asd"

      Nó không giống như:
      "asd"

  11.   Neo61 dijo

    Tôi không hiểu, tôi vẫn thấy nó như vậy. Thay đổi ở đâu? Bạn có thể giải thích cho tôi tốt hơn? Bây giờ khi bạn cho nó thực thi, dòng này sẽ xuất ra:
    ./script.sh: dòng 5: °: Tệp hoặc thư mục không tồn tại

    1.    KZKG ^ Gaara dijo

      Chuyển cho tôi tập lệnh bạn đang chạy, đặt mã ở đây: http://paste.desdelinux.net
      Xem lại bài viết, đó là tôi đã quên nhấn vào nút Cập nhật 😀

  12.   Neo61 dijo

    Xin chào đối tác:
    Tôi sẽ nói với bạn rằng tôi đang xem tập lệnh conkyrc mà bạn đã tạo cho conky 2010 của mình và vâng, đúng là như vậy, biểu tượng đĩa thuộc về một nguồn có tên là Poky nhưng nó không xuất hiện theo mặc định trong libreOffice trong Ubuntu 12.04, nó sẽ tốt, nếu bạn có nguồn này, hãy cho tôi biết tôi có thể tải xuống từ đâu (thực sự hơi khó), một điều mà tôi nhận ra là khi các chữ cái của các ký hiệu này được đặt và phông chữ không tồn tại trong hệ thống, sau đó nó đặt chữ cái chứ không phải ký hiệu, Điều đó là hợp lý, tôi đã có ý tưởng về cách mọi thứ đang hoạt động, nhưng tôi cần ai đó giải thích mọi thứ để tôi hiểu rõ hơn, mọi thứ tôi làm đều bằng suy luận và tôi chưa bao giờ đưa ra bất kỳ lập trình nào, đó không phải là khoa học máy tính mà tôi đã học Và cũng là một lần khác, tôi có sở thích sử dụng máy tính và điều tốt là tôi đang làm việc trong một trong những chi nhánh của nó, mọi thứ tôi đã học đã tự học, vì vậy tôi quan tâm đến một người, thậm chí từng chút một, hướng dẫn tôi. đây cũng là kịch bản của conky của tôi và tôi sẽ giải thích những gì tôi không hiểu:

    Hãy nhìn xem, khi tôi cố gắng lắp một ổ cứng HDD khác, tôi vẫn nhận được cùng một ổ cứng vì nó cho cùng một giá trị nhiệt độ. Tôi không hiểu các đặc điểm của CPU trong hệ thống, nó xuất hiện (NULL) in đậm, khi tôi cố gắng chèn lịch mà bạn đặt vào Conky mà tanias năm 2010 đã vô tổ chức và mở rộng thanh conky. Hãy xem để biết tất cả những cải tiến bạn có thể thực hiện. Tôi thích nó với chiều rộng mà tôi có và lịch của bạn thích ứng với chiều rộng đó và mọi thứ tôi đã nói với bạn không hiển thị đều xuất hiện, đây là:

    http://paste.desdelinux.net/4552

    –Đặt mã vào hồ sơ của chúng tôi, vì vậy các nhận xét không quá rộng rãi–

  13.   GONZALO dijo

    sự thật là đóng góp của bạn là đáng tiếc

  14.   Edgar dijo

    Xin chào, bạn đã làm cho cuộc sống của tôi dễ dàng hơn với tập lệnh này. Cảm ơn bạn rất nhiều vì tôi muốn biết nếu bạn có thể gửi cho tôi một email mà bạn mô tả nó vì tôi là một nevo trong lĩnh vực lập trình này.
    Cảm ơn

    1.    KZKG ^ Gaara dijo

      Xin chào,
      Tốt hơn hết là tôi chưa thể mô tả / giải thích những dòng code này, có gì bạn chưa hiểu giải thích theo cách khác?

      Có lẽ nếu bạn có thắc mắc, bạn luôn có thể hỏi trong diễn đàn của chúng tôi: forum.desdelinuxNet.

      Xin chào 😀

  15.   Thôi dijo

    Đóng góp tốt nhưng bạn có thể làm tròn nó ... Tôi cần một tập lệnh cho sai. Đó là, khi Sai nhận ra rằng anh ta đang hết pin và có 20 phút để tắt, anh ta sẽ gửi tín hiệu đến một thiết bị và điều đó phải thực thi tập lệnh để tắt một số máy chủ. Tôi không biết liệu tôi đã giải thích rõ về bản thân mình chưa ... Valdria với việc đưa vào kịch bản của bạn «tắt máy -h» ??

    Cảm ơn bạn!

  16.   Chúa Giêsu israel perales martinez dijo

    Một cái gì đó khác để thêm vào thư mục mẫu của tôi: B

  17.   edwar dijo

    Ai đó có thể giúp tôi Tôi cần một tập lệnh cho ubuntu mà nếu chúng tôi đóng trình duyệt chrome, hãy mở lại

    Cảm ơn trước

  18.   edo dijo

    Tôi cần một script mà chỉ cần thực thi nó sẽ ghi đè lên thông tin của một tập tin bằng một văn bản khác, có ai biết nó như thế nào không?

    1.    edo dijo

      Tôi đã thấy ở trên họ nói làm thế nào để làm điều đó

  19.   Dario dijo

    Rất tốt, tuyệt vời cho cháu của tôi.
    Ngàn lần cám ơn. »Cũng như bạn có nhiều người trẻ tuổi, đóng vai trò là giáo viên… .thật tuyệt vời.

  20.   Máy tính La Mã dijo

    Đơn giản và chức năng, như nó phải là.

    Cám ơn vì đã chia sẻ.

    Chúc mừng.

  21.   Hernan Jaramillo dijo

    Cảm ơn bạn đã giúp đỡ. Nó là hữu ích, giải thích rất tốt.

  22.   phó phòng dijo

    Cảm ơn bạn nó đã phục vụ tôi. Chúc mừng

  23.   game thủ dijo

    Đơn giản và hiệu quả. Hướng dẫn tuyệt vời cho người mới 🙂

  24.   Luis Carlos dijo

    Xin chào, tôi biết rất ít về script và tôi không biết liệu mình có đang nhầm lẫn giữa các khái niệm hay không nhưng những gì tôi đang cố gắng thực hiện là trong trang web sau:
    http://beginlinux.com/blog/2010/03/iptables-with-network-card-aliases/

    Vấn đề là tôi không thực sự hiểu cách bắt đầu mã này hoặc nếu mã này thay thế các IPTABLES. Và nếu nó thay thế nó như cũ để nó khởi động tự động với HĐH.

    Cảm ơn

  25.   Cris dijo

    Gaara khủng khiếp !!!

    Tôi bắt đầu làm bài tập như bạn giải thích và nó hoạt động !! Cảm ơn bạn đã dành thời gian và chia sẻ kiến ​​thức của bạn để vươn lên từ bóng tối với những người thiếu hiểu biết.

    ????

  26.   leo dijo

    Xin chào, tôi có bất kỳ câu hỏi nào để tạo tập lệnh do người dùng tạo, bạn có thể giúp tôi không?

  27.   giovani dijo

    xin chào tôi có một câu hỏi với một tệp .sh
    bạn có cách nào không
    Mình liên hệ với bạn để xem mình làm có đúng không?

    #! / system / bin / sh
    mount -o remount, rw /
    mkdir /mnt/local/Android/data/org.xbmc.xbmc/files/.xbmc
    ln -s /mnt/local/Android/data/org.xbmc.xbmc/files/.xbmc /.xbmc
    mount -o remount, ro /

    , Tôi chạy nó theo cách thủ công trong thiết bị đầu cuối và nếu nó hoạt động, nhưng khi tôi muốn tệp chạy thì nó không muốn.

  28.   louis dijo

    Tôi tìm thấy cái này tại vivaolinux.com.br, thật tuyệt

    #! / bin / bash

    Dựa trên Gera.sh - Gera cabeçalho cho các tập lệnh

    Viết bởi: Sandro Marcell P. Barbosa (Boa Vista - Roraima)

    E-mail: sandro_marcell@yahoo.com.br

    Slackware GNU / Linux 10.1.0

    Ví dụ sử dụng: script_name my_script

    Bạn cũng có thể chỉ định phần mở rộng, sự phù hợp hoặc thông dịch viên.

    Ví dụ: nome_script backup.sh cho o thông dịch viên 'sh'

    hoặc nome_script backup.tcl cho trình thông dịch 'tcl' và cả trong ngày!

    Xác định thông dịch viên bạn có thể (thay thế cho trình thông dịch khác!):

    INTERPRETER = »#! / Bin / sh»

    Nội dung tiêu đề (thay đổi tùy thích!):

    THÔNG TIN = »##»
    CREATOR = »## Viết bởi:»
    EMAIL = »## E-mail: you@correo.com»
    DISTRO = »##»

    Kiểm tra xem người dùng đã chỉ định tên tập lệnh hay chưa:

    nếu [$ # -eq 0]; sau đó
    echo ">>> Cách sử dụng: $ (basename $ 0)"
    ra
    fi
    nếu [$ # -ge 2]; sau đó
    echo "Tên có khoảng trắng không hợp lệ!"
    ra
    fi

    Người dùng có thể ghi vào thư mục hiện tại không?

    nếu [! -w $ NKT]; sau đó
    echo "Không có quyền ghi thư mục hiện tại!"
    ra
    fi

    Điều gì sẽ xảy ra nếu có một tập lệnh khác có cùng tên trong thư mục hiện tại?

    nếu [-f $ 1]; sau đó
    echo "Tập lệnh có cùng tên đã tồn tại trong thư mục này!"
    ra
    fi

    Nội dung tập lệnh:

    (
    con mèo << HẾT
    $ INTERPRETER

    THÔNG TIN $
    $ CREATOR
    $ EMAIL
    $ DISTRO

    Bây giờ thêm lệnh trên các dòng tiếp theo =)

    Ngày tạo tập lệnh này: $ (date «+% a% d /% m /% Y») lúc $ (ngày «+% T»)

    FIN
    )> $ 1

    Đặt quyền thực thi:

    nếu [-f $ 1]; sau đó
    chmod + x $ 1 2> / dev / stdout
    echo "Tập lệnh $ 1 đã được tạo và được phép thực thi!"
    fi

    Ngày tạo script này: 29/01/2013 19:45:00

    1.    debianistrowler dijo

      Tuyệt vời, nó hoạt động hoàn hảo !!!

  29.   Vincent dijo

    Hướng dẫn rất hay, đơn giản và nó đã giúp tôi rất nhiều, cảm ơn

  30.   calichi dijo

    KZKG thân mến Tôi là một người mới, nhưng tôi thích học hỏi.
    Bạn có tập lệnh khác. Hoặc đột nhiên ở nơi tôi làm việc tôi muốn mở một cái đã được biên dịch và tôi không thể nhìn thấy nó.
    Bất kỳ ý tưởng.

  31.   calichi dijo

    Tôi yêu cầu trợ giúp với một kịch bản. Nó được biên dịch.

  32.   mát mẻ9 dijo

    Tôi đã hiểu về bash, nhưng nếu tôi muốn tạo bí danh tự động, nó không xuất hiện

  33.   angiesarit dijo

    Cảm ơn bạn rất nhiều cho người bạn giúp đỡ của bạn.

    Tôi muốn biết nếu bạn có thể giúp tôi một việc rất lớn, tôi cần tạo một tập lệnh giúp tôi tạo .sum tại một thời điểm nhất định nhưng tôi không biết cách tham số hóa nó. Bạn có thể giúp tôi một số gợi ý. Cảm ơn và tôi sẽ chú ý nếu bạn có thể giúp tôi.

    Liên quan

  34.   José dijo

    Xin chào, chào buổi chiều, nghe này, tôi đang làm một công việc trong lex, vì vậy tôi muốn bạn có thể giúp tôi với một Script để tôi có thể chạy tệp lex, tệp tạo lex (lex.yy.c) và tệp đầu vào dữ liệu.

    Cảm ơn bạn rất nhiều

  35.   wilmer ron dijo

    cải xoong cảm ơn doc !!! Tôi mới làm quen với kịch bản, cảm ơn bạn rất nhiều, xin chào, tôi sẽ theo dõi với sự kèm cặp mới của bạn !!!!

  36.   Karen vega dijo

    Xin chào!!!

    Cảm ơn rất nhiều vì những đóng góp của bạn, tôi đang bắt đầu tìm hiểu về unix và hiếm khi có người giải thích vũ trụ mã này một cách đơn giản như vậy. Tôi muốn hỏi bạn nếu với thủ tục của bạn, tôi có thể tạo một tập lệnh giúp tôi tìm thấy n số tệp nằm trong cùng một đường dẫn và tôi sao chép chúng vào một thư mục khác ... ai đó đã nói với tôi rằng tôi có thể lưu trữ trong một txt đường dẫn và tên tệp của tôi, nhưng tôi không rõ cách thực hiện. Tôi vẫn chăm chú.

    Chúc mừng!

  37.   eibar amaya dijo

    Xin chào, tôi có một VPS nhưng tôi cần trợ giúp trong một số việc. Tôi quan tâm đến cách tạo tập lệnh hoặc thứ gì đó để tôi chạy bản sao lưu tự động của mọi thứ bên trong thư mục / gốc của tôi và bản sao lưu đó sẽ chạy cứ sau 1 giờ nếu bạn có thể giúp gì ở đó tôi sẽ đánh giá cao bạn rất nhiều về điều đó

    Tôi sẽ để lại cho bạn facebook của tôi nếu bạn muốn giúp tôi Tôi cần rất nhiều sự giúp đỡ 🙂

  38.   Jorge Rodriguez dijo

    tạo cho tôi một cái để ping và giám sát một số thiết bị mạng nhất định trong công ty
    nhưng tôi đã làm cho nó đơn giản

    chạm red.sh && chmod + x red.sh
    quăng đi '# -- PHÁT SINH: UTF-8 -- '>> red.sh
    echo 'ping 10.50.0.125 -w 5' >> red.sh
    echo 'ping 10.50.0.80 -w 5' >> red.sh

    chạy nó ./red.sh và tốt

  39.   Guillermo dijo

    Thân mến, tôi cần tạo một tập lệnh cài đặt tự động. Tôi sẵn sàng trả cho một công việc được hoàn thành tốt. Những ai quan tâm, hãy gửi cho tôi một E-mail đến carranzalh@gmail.com. Cảm ơn bạn

  40.   sary dijo

    họ hút vòi nước của tôi XD

  41.   hdexz dijo

    Chào buổi sáng bạn, bạn có thể giúp tôi một việc được không
    Tôi cần sao lưu bằng linux của công ty vì nó an toàn hơn để virus không bắt được nhưng tôi không biết phải làm thế nào
    Tôi cần tạo một tập lệnh sẽ đóng gói các tệp và gửi chúng đến một ftp

    Tôi sẽ đánh giá cao trước khi viết thư cho email của tôi

    cesarloscor@gmail.com