Bagian dua ini tutorial mini pemrograman dalam Menampar, tempat kami belajar menggunakan siklus dan alat lain yang akan membantu kami meningkatkan fungsi kami script. |
Jika bersyarat
Fungsi If adalah untuk menerapkan filter dan menjalankan operasi atau tugas untuk setiap jenis filter yang diterapkan. Strukturnya adalah sebagai berikut:
Jika [kondisi]; lalu perintah elif [kondisi]; lalu perintah lain; perintah fi
Sebuah contoh ditampilkan di sebelah perulangan For di bagiannya masing-masing.
Siklus
1. While: itu akan menjalankan semua perintah yang ditentukan antara do dan done selama kondisinya benar. Jika kita ingin meneruskan operator pembanding, ekspresi harus dalam tanda kurung.
sementara CONDITION / COMMAND melakukan perintah yang dilakukan
Contoh: tabel perkalian bilangan
#! / bin / bash X = 1 echo "Masukkan angka dan tekan ENTER" baca M # Loop mengontrol bahwa X kurang dari atau sama dengan 10 sementara [$ X –le 10] melakukan #Dalam R kami menyimpan perkalian X by MR = $ [X * M] # Perkalian ini tercetak di layar echo "$ M * $ X = $ R" # Dengan kata lain, kita tingkatkan nilai X sebanyak 1 satuan misalkan X = $ X + 1 selesai
2. Untuk: menyimpan daftar elemen dalam variabel, yang akan digunakan untuk melakukan operasi tertentu dengan setiap siklus.
untuk VARIABEL di ELEMEN lakukan perintah
Contoh: program yang menyalin file dari satu folder ke folder lain, menggantikan file lama.
# / bin / bash #Kami membuat direktori sumber dan tujuan ORIGIN = / home / user / Downloads DESTINATION = / home / user / Documents # Kami memposisikan diri kami di cd sumber $ ORIGIN #Dari semua file, kami hanya menginginkan yang # call FILE untuk FILE di * do ARCH-DESTINATION = "$ DESTINATION / $ FILE" # -f menyaring file biasa, karena direktori #tidak ada yang baik untuk kita. –Tidak menyaring # file yang "lebih baru" dari # yang ditemukan di folder tujuan jika [-f $ FILE] && [$ FILE –nt $ ARCH-DESTINATION]; lalu echo "Menyalin $ FILE ..." # kita menyalin file dengan cp cp $ FILE $ ARCH-DESTINATION fi selesai #Kita cd untuk keluar dari folder sumber cd
Contoh lain: script dimana pengguna harus menebak angka acak yang dihasilkan oleh komputer.
# / bin / bash #A nomor acak dihasilkan dari 1 sampai 10, # disimpan dalam ACAK ACAK = $ [$ ACAK% 10 + 1] sementara [1] melakukan echo –n "Masukkan nomor:" baca NUM # Bandingkan jika nomor yang dipilih oleh pengguna #Sama dengan ACAK; ingatlah untuk menggunakan $ untuk mengevaluasi #values dari variabel dan bukan namanya if [“$ NUM –eq“ $ RANDOM ”]; lalu gema "Anda benar!" #break memungkinkan untuk mengakhiri loop sementara break #Jika jumlahnya kurang dari RANDOM elif [“$ NUM –gt“ $ RANDOM ”]; lalu echo "It is less" "Jika tidak, ini lebih besar dari ACAK lain echo" IS lebih besar "selesai
3. Sampai: sangat mirip strukturnya dengan While, kecuali bahwa kode selalu dijalankan sementara evaluasi kondisinya negatif, yaitu, program terus mengeksekusi "sampai kondisi terjadi"
sampai CONDITION / COMMAND melakukan perintah selesai
Contoh: cetak angka 10-20 dalam urutan menurun
#! / bin / bash CONT = 20 # Selama penghitung kurang dari 10 (-lt, "lebih rendah # dari") kode dijalankan hingga [$ CONT -lt 10]; lakukan echo "COUNTER $ CONT" #A CONT dikurangi satu unit biarkan CONT- = 1 selesai
4. Pilih: siklus terakhir ini adalah kasus khusus, karena biasanya digunakan untuk membuat menu dengan cepat. Cara kerjanya mirip dengan loop For.
pilih VARIABEL di DAFTAR perintah selesai
Contoh: beri pengguna kemampuan untuk melanjutkan atau mengakhiri skrip.
#! / bin / bash #item adalah variabel yang merespon apa yang dipilih #pengguna, Lanjutkan dan Selesai adalah #options yang tersedia untuknya, meskipun opsi lain dapat ditambahkan # pilih item lainnya di Continue Finish lakukan #Jika pengguna memilih akhiri program, lalu dengan istirahat kita keluar dari siklus. jika [$ item = "Selesai"]; kemudian istirahat selesai
Saya pikir sesuatu seperti ini: tar -cf - Directory | (cd / other / direktori; tar -xvf -)
Maka akan terlihat seperti / another / directory / Directory
Dengan cara itu saya mengompresi Direktori dan Anda mendekompresi di tempat lain….
Halo, tuto yang baik, saya sedang belajar tentang subjek dan semuanya baik-baik saja, hanya saja saya belum dapat membuat program yang membantu saya, untuk melihat apakah Anda dapat membantu saya.
Saya perlu melakukan siklus, di mana ia akan menerima sebagai parameter daftar file sumber, daftar ini hanya membawa nama (tanpa ekstensi), sehingga siklus melakukan hal berikut, cari nama tersebut yang diterima dalam direktori (yaitu yang akan kita cari), ekstrak dan salin file (nama lengkap sudah dengan ekstensi) dan jalur absolut dan buat di file tujuan lain.
Sejauh ini saya memiliki yang berikut:
saat membaca baris
do
echo -e "$ line"
temukan / home / myuser / dof "$ line" -exec readlink -f {};
done <testlist.txt Sejauh ini saya membaca file, setiap baris yang dimilikinya, tetapi saya tidak dapat membuatnya mencari file itu dan mengekstrak informasinya, jika Anda dapat membantu saya, terima kasih. Bersulang
Terima kasih banyak atas kontribusinya 🙂
halo ... Saya harap Anda dapat membantu dalam praktik berikutnya ... Unzip file di tgz di direktori yang ditentukan, selain menentukan pengguna dan grup untuk semua direktori dan file yang ada, dan memberikan izin ke file dan direktori
catatan: file siap untuk dibaca dan ditulis
izin eksekusi direktori
ARCH-DESTINATION adalah variabel di mana kita ingin menyimpan jalur file tujuan, simpan untuk redundansi. Kemudian, ke variabel ini kami menunjukkan variabel DESTINATION, yang di atas berisi jalur ke folder Dokumen dan kami menambahkan "variabel" FILE, yang berisi nama file. Jika file itu, misalnya, list.doc, variabel ARCH-DESTINATION akan sama dengan /home/Usuario/Documentos/listado.doc
Ini artikel sebelumnya. Anda dapat mengaksesnya di http://usemoslinux.blogspot.com
Memeluk! Paul.
Selamat pagi sobat terima kasih, bagus sekali blog anda, tapi saya tidak bisa mendapatkan bagian pertama dari Pemrograman di Bash, dimana saya mendapatkannya terima kasih, salam
Dua bagian luar biasa, selamat yang tulus.
Sangat indah.
Bien
Halo, saya sedang membuat program dengan CASE, apa yang saya ingin lakukan dan saya tidak tahu caranya, misalnya:
echo Memilih opsi:
gema
echo 1. opsi 1
echo 2. opsi 2
echo 3. opsi 3
echo 4. opsi 4
echo 5. Keluar
baca var
kasus "$ var" di
1)
echo "Anda memilih opsi 1"
;;
2)
echo "Anda memilih opsi 2"
;;
3)
membuang "… .."
;;
4)
membuang "…."
;;
5)
membuang "…"
;;
*)
echo "opsi yang salah"
;;
esac
ok yang saya tidak tahu bagaimana melakukannya adalah ketika saya memilih opsi 4 yaitu keluar, tanyakan apakah saya benar-benar ingin keluar, dan beri saya 2 opsi Y & T
dan yang lainnya adalah ketika Anda memilih sesuatu selain angka 1..5 jangan memilih saya dari skrip….
Bisakah Anda membantu saya terima kasih.
Hai, saya mulai membuat skrip 1 bulan yang lalu dan terima kasih atas kiriman skrip Anda. Saya akan melakukan sekitar 15-20. Terima kasih banyak sebelumnya. Tapi sekarang guru kami telah memberi kami pekerjaan yang membuat saya mandek. Karena guru bertanya:
melewati direktori, salin ke rumah Anda semua file yang ada di direktori itu menurut abjad dan beri nama file1 file2 dll ... dll ...
Sekarang saya pada saat menemukan atau mencari, saya ingin menggunakan find tetapi ketika memberikan kode kesalahan saat saya memasukkannya ke dev null, izin ditolak maka saya salah dan meletakkan lokasi saya di sini:
cari $ 1 | grep "/ $ {1} \ $"
tapi tentu saja dengan ini mereka semua keluar ...
Terima kasih banyak jika Anda membacanya.
Jika Anda dapat membantu saya, itu akan menjadi bantuan besar.
Saya ingin Anda membantu saya dalam hal ini.
1.-Masukkan bilangan bulat pada keyboard dan tampilkan dua kali dan tiga kali lipat angka itu di layar. 2.- Buatlah program untuk memutuskan apakah angka yang dimasukkan oleh keyboard dapat dibagi 3 atau tidak.
3.- Buatlah program untuk mencari penjumlahan dari: ???????? + ???????? + ???????? + ???????? + ⋯? ???????
4.- Buatlah program untuk mencari penjumlahan 1 + 3 + 5 + 7 + 9 · · · + (2n + 1).
5. -Buat program yang mencetak kata Linux di layar 10 kali
6. -Buat program yang mencetak kata Linux di layar beberapa kali yang ditunjukkan oleh pengguna.
7.-Masukkan jumlah dalam jam dan ubah menjadi menit dan detik.
8.-Hitung luas segitiga
9. -Masukkan angka pada keyboard, lalu jika Anda memasukkan 2 harus dikuadratkan, 3 kubik, 4 untuk keempat dan seterusnya sampai 6.
10-Hitung pensiun yang harus dibayar siswa, kode khusus harus dimasukkan, dan hari-hari menunggak:
KODE
SPESIALITAS
JUMLAH
DURASI PER HARI
1
MENGHITUNG
160
1
2
PERAWATAN
150
1.5
3
SEKRETARIAT
140
2
4
PARIWISATA
180
2.5
5
AKUNTANSI
160
1
Anda harus menunjukkan spesialisasi yang Anda pelajari, biaya pensiun, default dan jumlah total yang harus dibayarkan.
Halo, ada yang bisa membantu saya?
Saya memerlukan «Minta tiga kata dengan keyboard dan menampilkannya dalam urutan abjad dari A hingga z»
Dalam bahasa Bash atau sh untuk LINUX porfaborrrr