Kedua daripada ini tutorial mini pengaturcaraan di Bash, di mana kita belajar menggunakan kitaran dan alat lain yang akan membantu kami meningkatkan fungsi alat kami skrip. |
Sekiranya bersyarat
Fungsi If adalah untuk menerapkan filter dan melakukan operasi atau tugas untuk setiap jenis filter yang digunakan. Strukturnya adalah seperti berikut:
Sekiranya [keadaan]; kemudian perintah elif [keadaan]; maka perintah lain; perintah fi
Contoh ditunjukkan di sebelah gelung For di bahagiannya.
Kitaran
1. Sementara: ia akan melaksanakan semua perintah yang ditentukan antara melakukan dan dilakukan selagi syaratnya benar. Sekiranya kita ingin memberikan operator perbandingan kepadanya, ungkapan mesti dalam tanda kurung.
semasa KEADAAN / PERINTAH melakukan perintah yang dilakukan
Contoh: jadual pendaraban nombor
#! / bin / bash X = 1 echo "Masukkan nombor dan tekan ENTER" baca M #Lingkaran mengawal bahawa X kurang daripada atau sama dengan 10 sementara [$ X –le 10] melakukan #In R kita menyimpan pendaraban X by MR = $ [X * M] # Pendaraban ini dicetak pada gema skrin "$ M * $ X = $ R" #Dengan membiarkan, kami meningkatkan nilai X sebanyak 1 unit membiarkan X = $ X + 1 selesai
2. Untuk: menyimpan senarai elemen dalam pemboleh ubah, yang akan digunakan untuk melakukan operasi tertentu dengan setiap kitaran.
untuk VARIABLE dalam ELEMENTS melakukan perintah yang dilakukan
Contoh: program yang menyalin fail dari satu folder ke folder lain, menggantikan fail lama.
# / bin / bash #Kami mewujudkan direktori sumber dan destinasi ASAL = / rumah / pengguna / Muat turun TUJUAN = / rumah / pengguna / Dokumen # Kami menempatkan diri dalam sumber cd $ ASAL #Dari semua fail, kami hanya mahukan yang adalah # panggil FILE untuk FILE di * do ARCH-DESTINATION = "$ DESTINATION / $ FILE" # -f menyaring kami fail biasa, kerana direktori # tidak ada yang baik bagi kami. –Nt menyaring # fail “lebih baru” daripada # yang terdapat di folder tujuan sekiranya [-f $ FILE] && [$ FILE –nt $ ARCH-DESTINATION]; kemudian gema "Menyalin $ FILE ..." # kami menyalin fail dengan cp cp $ FILE $ ARCH-DESTINATION fi selesai #Kami cd untuk keluar dari folder sumber cd
Contoh lain: skrip di mana pengguna mesti meneka nombor rawak yang dihasilkan oleh komputer.
# / bin / bash # Nombor rawak dihasilkan dari 1 hingga 10, ia # disimpan dalam RANDOM RANDOM = $ [$ RANDOM% 10 + 1] sementara [1] bergema –n "Masukkan nombor:" baca NUM # Bandingkan jika nombor yang dipilih oleh pengguna adalah # sama dengan RANDOM; ingat untuk menggunakan $ untuk menilai # nilai pemboleh ubah dan bukan namanya jika [“$ NUM –eq“ $ RANDOM ”]; kemudian bergema "Anda betul!" #break membolehkan mengakhiri gelung semasa rehat #Jika bilangannya kurang dari RANDOM elif [“$ NUM –gt“ $ RANDOM ”]; kemudian gema "Ia kurang" "Jika tidak, lebih besar daripada RANDOM yang lain bergema" ITU lebih besar "
3. Sehingga: strukturnya hampir sama dengan Sementara, kecuali bahawa kodnya selalu dijalankan sementara penilaian keadaannya negatif, iaitu, program ini terus dijalankan "sehingga kondisi itu terjadi"
sehingga KEADAAN / PERINTAH melakukan perintah yang dilakukan
Contoh: mencetak nombor 10-20 mengikut turutan menurun
#! / bin / bash CONT = 20 # Selagi kaunter kurang dari 10 (-lt, "lower #than") kod tersebut dilaksanakan sehingga [$ CONT -lt 10]; do echo "COUNTER $ CONT" #A CONT ditolak oleh unit biarkan CONT- = 1 selesai
4. Pilih: kitaran terakhir ini adalah kes khas, kerana biasanya digunakan untuk membuat menu dengan cepat. Ia berfungsi serupa dengan gelung For.
pilih VARIABLE dalam SENARAI perintah yang dilakukan
Contoh: memberi pengguna kemampuan untuk meneruskan atau mengakhiri skrip.
#! / bin / bash #item adalah pemboleh ubah yang bertindak balas terhadap apa yang #pengguna pilih, Lanjutkan dan Selesai adalah #pilihan yang ada padanya, walaupun pilihan lain dapat ditambahkan # lebih banyak item pilih di Lanjutkan Selesai lakukan #Jika pengguna memilih akhiri program, kemudian dengan rehat kita keluar dari kitaran. jika [$ item = "Selesai"]; maka break fi selesai
Saya rasa seperti ini: tar -cf - Direktori | (cd / other / direktori; tar -xvf -)
Maka akan kelihatan seperti / another / direktori / Direktori
Dengan cara itu saya memampatkan Direktori dan anda menyahkompresnya di tempat lain….
Helo, tuto yang baik, saya belajar mengenai subjek dan semuanya baik-baik saja, cuma saya tidak dapat membuat program yang membantu saya, untuk melihat apakah anda boleh membantu saya.
Saya perlu melakukan kitaran, di mana ia akan menerima sebagai parameter senarai fail sumber, senarai ini hanya membawa nama (tanpa peluasan), sehingga kitaran melakukan yang berikut, cari nama yang diterima dalam direktori (yang yang akan kita cari), ekstrak dan salin fail (nama penuh sudah ada pelanjutan) dan jalan mutlak dan buat di fail tujuan lain.
Setakat ini saya mempunyai perkara berikut:
sambil membaca baris
do
echo -e "$ baris"
cari / rumah / myuser / dof "$ line" -exec readlink -f {};
selesai <testlist.txt Sejauh ini saya membaca fail, setiap barisnya, tetapi saya tidak dapat membuatnya mencari fail itu dan mengekstrak maklumatnya, jika anda boleh membantu saya, terima kasih. Sorakan
Terima kasih banyak atas sumbangan 🙂
hai ... Saya harap anda dapat membantu dalam praktik seterusnya ... Buka zip fail dalam tgz di direktori yang ditentukan, selain menentukan pengguna dan kumpulan untuk semua direktori dan fail yang ada, dan memberikan izin untuk fail dan direktori
nota: fail siap dibaca dan ditulis
kebenaran pelaksanaan direktori
ARCH-DESTINATION adalah pemboleh ubah di mana kita mahu menyimpan jalan fail tujuan, maafkan kelebihan. Kemudian, untuk pemboleh ubah ini kami menunjukkan pemboleh ubah DESTINATION, yang di atas mengandungi jalan ke folder Dokumen dan kami menambahkan "variabel" FILE, yang mengandungi nama fail. Sekiranya fail itu, misalnya, list.doc, pemboleh ubah ARCH-DESTINATION akan sama dengan /home/Usuario/Documentos/listado.doc
Ini adalah artikel sebelumnya. Anda boleh mengaksesnya di http://usemoslinux.blogspot.com
Peluk! Paul.
Selamat pagi rakan sekalian terima kasih, blog anda sangat bagus, tetapi saya tidak dapat memperoleh bahagian pertama Pengaturcaraan di Bash, di mana saya mendapatkannya terima kasih, salam
Dua bahagian luar biasa, tahniah saya ikhlas.
Cukup indah.
baik
Hai, saya membuat program dengan CASE, apa yang saya mahu dan saya tidak tahu caranya, misalnya:
echo Memilih pilihan:
echo
gema 1. pilihan 1
gema 2. pilihan 2
gema 3. pilihan 3
gema 4. pilihan 4
gema 5. Keluar
baca var
kes "$ var" dalam
1)
gema "Anda memilih pilihan 1"
;;
2)
gema "Anda memilih pilihan 2"
;;
3)
membuang "… .."
;;
4)
membuang "…."
;;
5)
membuang "..."
;;
*)
gema "pilihan yang salah"
;;
bahawa C
ok apa yang saya tidak tahu bagaimana melakukannya ialah apabila saya memilih pilihan 4 iaitu meninggalkan, tanyakan apakah saya benar-benar mahu pergi, dan beri saya 2 pilihan Y & N
dan yang lain ialah apabila anda memilih sesuatu yang lain daripada nombor 1..5 jangan memilih saya dari skrip….
Bolehkah anda menolong saya terima kasih.
Hai, saya mula menulis skrip 1 bulan yang lalu dan terima kasih kepada catatan skrip anda. Saya akan melakukan lebih kurang 15-20. Terima kasih banyak-banyak. Tetapi sekarang guru kita telah memberi kita pekerjaan di mana saya menjadi stagnan. Oleh kerana guru bertanya:
melewati direktori, salin ke rumah anda semua fail yang ada di direktori itu mengikut abjad dan namakan file1 file2 dll ... dll ...
Sekarang saya sedang mencari atau mencari, saya ingin menggunakan cari tetapi ketika memberikannya kod ralat seperti saya memasukkannya melalui dev null, kebenaran ditolak maka saya tersilap dan meletakkan lokasi saya di sini:
cari $ 1 | grep "/ $ {1} \ $"
tetapi tentu saja dengan ini mereka semua keluar ...
Terima kasih banyak sekiranya anda membacanya.
Sekiranya anda dapat menolong saya, ia akan menjadi kebaikan.
Saya ingin anda menolong saya dalam hal ini.
1.-Masukkan nombor bulat pada papan kekunci dan paparkan dua kali dan tiga kali ganda nombor di skrin. 2.- Buat program untuk menentukan sama ada nombor yang dimasukkan oleh papan kekunci dibahagi dengan 3 atau tidak.
3.- Buat program untuk mencari jumlah: ???????? + ???????? + ???????? + ???????? + ⋯? ???????
4.- Buat program untuk mencari jumlah 1 + 3 + 5 + 7 + 9 · · · + (2n + 1).
5.-Buat program yang mencetak perkataan Linux di skrin 10 kali
6. -Membuat program yang mencetak perkataan Linux di skrin berapa kali ditunjukkan oleh pengguna.
7.-Masukkan jumlah dalam beberapa jam dan ubah menjadi minit dan saat.
8.-Hitung luas segitiga
9.-Masukkan nombor di papan kekunci, maka jika anda memasukkan 2, ia harus kuasa dua, 3 kubus, 4 hingga keempat dan seterusnya hingga 6.
10-Hitung pencen yang mesti dibayar oleh pelajar, kod khas mesti dimasukkan, dan hari-hari tunggakan:
KOD
KHAS
JUMLAH
SELAMA SETIAP HARI
1
PENGIRAAN
160
1
2
MENJAGA
150
1.5
3
SETIAUSAHA
140
2
4
PELANCONGAN
180
2.5
5
PERAKAUNAN
160
1
Anda mesti menunjukkan kepakaran yang anda pelajari, kos pencen, lalai dan jumlah keseluruhan yang perlu dibayar.
Helo, bolehkah seseorang menolong saya?
Saya memerlukan «Meminta tiga perkataan dengan papan kekunci dan memaparkannya mengikut urutan abjad dari A hingga z»
Dalam bahasa Bash atau sh untuk LINUX porfaborrrr