Τα πάντα για το Bash...

...του ubuntu και έργων ΕΛ/ΛΑΚ (Έργα-Οδηγοί-Προτάσεις)

Συντονιστής: konnn

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό giwrgosatma » 30 Αύγ 2015, 11:38

Learner έγραψε:Μήπως σε βολεύει καλύτερα , στην περίπτωσή σου, κάτι τέτοιο ; (φυσικά διαμόρφωσε το κατάλληλα, απλά δίνω τον κορμό).
Αποθήκευσε το και τρέξε το όπως είναι να δεις τι κάνει.
Μορφοποιημένος Κώδικας: Επιλογή όλων
#!/bin/bash
# Author: Giwrgos Atmatsidis
#First Run of Script
echo "-----MENU-----"
echo ""
echo "Xαίρεται $USER τι θα θέλατε να κάνετε ;"
echo ""
echo ""
PS3='Πατήστε το πλήκτρο της επιλογής σας: '
options=("Eνημέρωση - Aναβάθμιση" "Θέλω να καθαρίσω το λειτουργικό μου σύστημα Ubuntu." "Θέλω να καθαρίσω τους παλιούς πυρήνες." "Έχω πρόβλημα στο Τερματικό καθώς εκτελώ 'apt-get update' 'apt-get upgrade'" "Έξοδος")
select opt in "${options[@]}"
do
case $opt in
"Eνημέρωση - Aναβάθμιση")
echo "epilogh 1"
;;
"Θέλω να καθαρίσω το λειτουργικό μου σύστημα Ubuntu.")
echo "epilogh 2"
;;
"Θέλω να καθαρίσω τους παλιούς πυρήνες.")
echo "epilogh 3"
;;
"Έχω πρόβλημα στο Τερματικό καθώς εκτελώ 'apt-get update' 'apt-get upgrade'")
echo "epilogh 4"
;;
"Έξοδος")
break
;;
*) echo "Λάθος επιλογή";;
esac
done

Πολυ ωραια η δομη του :) Ευχαριστω πολυ για τον χρονο που αφιερωσες :) θα το εχω και αυτο.
1 Linux: Μέτριο┃ Προγρ: Visual Basic,Java,CSS 3,HTML 5 ┃ Αγγλ: Καλά
2 Operating System:||Lubuntu 15.04|| CPU: Intel Core 2 Duo E7400 @ 2.80GHz, RAM: 4,00GB Dual-Channel DDR2 @ 333MHz, Motherboard: ASRock G41C-GS (CPUSocket),Graphics:2047MB NVIDIA GeForce GT 610 (Gigabyte)
Άβαταρ μέλους
giwrgosatma
punkTUX
punkTUX
 
Δημοσιεύσεις: 201
Εγγραφή: 10 Ιαν 2014, 16:46
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό giwrgosatma » 04 Σεπ 2015, 04:24

Σας παραθέτω ενα script που έφτιαξα για το linux-ubuntu πιστεύω πως θα σας φανεί χρήσιμο.Έχει αρκετές πληροφορίες και θα το χρειαστείτε για τις συχνές σας χρήσεις.Έχω βάλει πληροφορίες, επίσης έχει και μενού για να μην χάνεστε.Ακολουθεί ο κώδικας. Και το λινκ
Κώδικας: Επιλογή όλων
#!/usr/bin/env bash
# unixgadged.bash
# Author       : Atmatsidis Giwrgos                                           
# Released On  : Friday 04 September 2015                                     
# Version      : 1.0.0                                                         
# Desription   : First of all you must make it executable and run it from Terminal { /.yourscript.* }
#                This program greated for use it to cover all your need's.It have the most importand commands for all.
#                And friendly menu where lead all your action's
#                You must greate on folder and put script inside,all logfille's from command's will saved separately.
#                BEWARE the logfilles of script refreshed in every run,and appear ONLY if you select the correct selection.
#                If you run the same command up to one time the logfiles will keep the out-message that what you run at the first time.
#                Also for your good navicat make a full screen your terminal!! You can use the F11 hotkey
#
# Dependencies : This script greated and tested on Ubuntu operating system,i cant guaranty for sure if that run correct to other operating's system's like Debian.                             
#                                                                               
# COPYRIGHT    : This program is free software: you can redistribute it and/or
#                modify it under the terms of the GNU General Public License as
#                published by the Free Software Foundation, either version 3 of
#                the License, or (at your option) any later version. This     
#                program is distributed in the hope that it will be useful, but
#                WITHOUT ANY WARRANTY; without even the implied warranty of   
#                MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#                GNU General Public License for more details.                 

#var
selection="0"
boolean=""
#end var
echo "-----MENU-----"
echo ""
echo " Xαίρεται $USER τι θα θέλατε να κάνετε ;
   [πατήστε το πλήκτρο της επιλογής σας]"
echo ""
echo "    1.Eνημέρωση - Aναβάθμιση"
echo ""
echo "    2.Θέλω τον καθαρισμό του συστήματος και τους παλαιούς πυρήνες"
echo ""
echo "    3.Έχω πρόβλημα στο Τερματικό καθώς εκτελώ 'apt-get update' && 'apt-get upgrade'"
echo ""
echo "    4.Θέλω να δω τις αναλυτικές πληροφορίες του συστήματος μου"
echo ""
echo "    5.Θέλω να δω ποιό είναι το μοντέλο της κάρτας γραφικών και ποιόν οδηγό (driver) χρησιμοποιεί"
echo ""
echo "    6. Θέλω να δω πληροφορίες για την κάρτα του δικτύου και,τον οδηγό(driver) ο οποίος χρησιμοποιείται"
echo ""
echo "    7.Θέλω να δω πόσα GB έχει γράψει ο δίσκος (Χρήσιμο για σκληρούς δίσκους (πχ SSD)"
echo ""
echo "    8.Θέλω να δω τον αριθμό των πακέτων καθώς επίσης και των βιβλιοθηκών - εξαρτήσεων του συστήματος που είναι εγκατεστημένα"
echo ""
echo "    9.Θέλω να δω τις πληροφορίες του επεξεργαστή CPU"     
echo ""
echo "   10.Θέλω να δω τις πληροφορίες της μνήμης RAM και προβολή του μεγέθους της μνήμης σε gigabyte και την προβολή Swap που είναι σε χρήση"     
echo ""
echo "   11.Θέλω να δω τα διαμερίσματα που έχω στον δίσκο μου για το Ubuntu 'swap,home,boot κ.α' και τον χώρο που χρησιμοποιείται" 
echo ""
echo "   12. Θέλω να δω τις πληροφορίες των pci/usb/audio/system drivers συσκευών "
echo ""
echo "   13. Εμφάνιση των TCP/UDP port's"
echo ""
echo "   14. Εμφάνιση των υπηρεσιών (services) του υπολογιστή"
echo ""
echo "   15.Θέλω να βρώ κάποιο-α αρχείο-α καθώς και στον φάκελο στον οποίο βρίσκονται" 
echo ""
echo "   16. Θέλω να δω ποιά προγράμματα εκτελούνται αυτή την στιγμή και τις εξαρτήσεις τους" 
echo ""
echo "   0.Έξοδος"
echo " Πατήστε την επιλογή σας παρακάτω"
  read selection
#cheak for correct entry

while (("$selection" <= 0 )) || (("$selection" > 16 ))
do
 
  if [ "$selection" = "0" ] ; then
    clear
      exit
  fi
      clear
      echo " <!> Έχετε δώσει λάθος εντολή.Παρακαλώ πληκτρολογήστε την σωστή επιλογή"
      echo ""
      echo "    1.Eνημέρωση - Aναβάθμιση"
      echo ""
      echo "    2.Θέλω τον καθαρισμό του συστήματος και τους παλαιούς πυρήνες"
      echo ""
      echo "    3.Έχω πρόβλημα στο Τερματικό καθώς εκτελώ 'apt-get update' && 'apt-get upgrade'"
      echo ""
      echo "    4.Θέλω να δω τις αναλυτικές πληροφορίες του συστήματος μου"
      echo ""
      echo "    5.Θέλω να δω ποιό είναι το μοντέλο της κάρτας γραφικών και ποιόν οδηγό (driver) χρησιμοποιεί"
      echo ""
      echo "    6.Θέλω να δω πληροφορίες για την κάρτα του δικτύου και,τον οδηγό(driver) ο οποίος χρησιμοποιείται"
      echo ""
      echo "    7.Θέλω να δω πόσα GB έχει γράψει ο δίσκος (Χρήσιμο για σκληρούς δίσκους (πχ SSD)"
      echo ""
      echo "    8.Θέλω να δω τον αριθμό των πακέτων καθώς επίσης και των βιβλιοθηκών - εξαρτήσεων του συστήματος που είναι εγκατεστημένα"
      echo ""
      echo "    9.Θέλω να δω τις πληροφορίες του επεξεργαστή CPU"     
      echo ""
      echo "   10.Θέλω να δω τις πληροφορίες της μνήμης RAM και προβολή του μεγέθους της μνήμης σε gigabyte και την προβολή Swap που είναι σε χρήση"     
      echo ""
      echo "   11.Θέλω να δω τα διαμερίσματα που έχω στον δίσκο μου για το Ubuntu 'swap,home,boot κ.α' και τον χώρο που χρησιμοποιείται" 
      echo ""
      echo "  12.Θέλω να δω τις πληροφορίες των pci/usb/audio/system drivers συσκευών"
      echo ""
      echo "  13.Εμφάνιση των TCP/UDP port's"
      echo ""
      echo "  14.Εμφάνιση των υπηρεσιών (services) του υπολογιστή"
      echo ""
      echo "  15.Θέλω να βρώ κάποιο-α αρχείο-α καθώς και στον φάκελο τον οποίο βρίσκονται"
      echo ""
      echo "  16.Θέλω να δω ποιά προγράμματα εκτελούνται αυτή την στιγμή και τις εξαρτήσεις τους"
      echo ""
      echo "  0.Έξοδος"
       read selection   
done #end of cheak correct entry
#create logfile for file-'s path
if [ "$selection" = "15" ] ; then
    echo "">file-path-information
fi
boolean=true #accessory variable
###########################
##start main loop
while [ "$boolean" = "true" ]
do #start loop

if [ "$selection" = "1" ] || [ "$answer" = "1" ] ; then
#start update
     echo "Έχετε πραγματοποιήση ενημέρωση και αναβάθμιση του συστήματος">update-upgrate-information # Write on logfile
    sudo apt-get update #run command
    echo "Παρακαλώ αναμένεται καθώς η διαδικασία καταγράφετε στο αρχείο"
    echo "" >>update-upgrate-information
    echo "### apt-get update output message ###" >>update-upgrate-information
    echo "" >>update-upgrate-information
    echo "" >>update-upgrate-information
    sudo apt-get update >>update-upgrate-information #write on logfile the command output
#end update
############## 
#start upgrade
    sudo apt-get upgrade  #run command
    echo "Παρακαλώ αναμένεται καθώς η διαδικασία καταγράφετε στο αρχείο"
    echo "" >>update-upgrate-information
    echo "### apt-get upgrade output message ###" >>update-upgrate-information
    echo "" >>update-upgrate-information
    sudo apt-get upgrade >>update-upgrate-information
    echo "" >>update-upgrate-information
    echo "" >>update-upgrate-information
    sudo apt-get autoremove  #run command
    echo "Παρακαλώ αναμένεται καθώς η διαδικασία καταγράφετε στο αρχείο"
    echo "" >>update-upgrate-information
    echo "### apt-get autoremove output message ###" >>update-upgrate-information
    echo "" >>update-upgrate-information
    sudo apt-get autoremove >>update-upgrate-information
    sel1="1"
    clear   
   else
    if [ "$selection" = "2" ] || [ "$answer" = "2" ] ; then
#start clean Ubuntu
     echo "Έχετε πραγματοποιήση τον καθαρισμό του συστήματος και τους παλαιούς πυρήνες">clean-information # Write on logfile
    sudo apt-get --purge autoremove #run command
    sudo apt-get autoremove  #run command
    sudo apt-get autoclean  #run command
    sudo apt-get clean  #run command
    sudo apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }') #run command
    echo "O νεότερος πυρήνας που είναι σε χρήση είναι ο παρακάτω" && uname -rm #run command
    echo "Παρακαλώ αναμένεται καθώς η διαδικασία καταγράφετε στο αρχείο"
    echo "" >>clean-information
    echo "### apt-get --purge autoremove output message ###" >>clean-information
    echo "" >>clean-information
    sudo apt-get --purge autoremove >>clean-information #write on logfile the command output
    echo "">>clean-information
    echo "### apt-get autoremove output message ###" >>clean-information
    echo "" >>clean-information
    sudo apt-get autoremove >>clean-information #write on logfile the command output
    echo "">>clean-information
    echo "### apt-get autoclean  output message ###" >>clean-information
    echo "" >>clean-information
    sudo apt-get autoclean >>clean-information #write on logfile the command output
    echo "">>clean-information
    echo "" >>clean-information
    echo "">>clean-information
    echo "### apt-get purge output message ###" >>clean-information
    echo "" >>clean-information
    sudo apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')>>clean-information #write on logfile the command output
    echo "" >>clean-information
    echo "" >>clean-information
    echo "### O νεότερος πυρήνας που είναι σε χρήση">>clean-information
    echo "">>clean-information
    uname -rm >>clean-information
    sel2="2"
    clear
   else
     if [ "$selection" = "3" ] || [ "$answer" = "3" ] ; then
#start clean terminal Ubuntu
   echo "Έχετε πραγματοποιήση τον καθαρισμό του τερματικού (~Terminal~) σας αποθέτηριου">terminal-fix-information #write on logfile
      sudo rm -rf /var/lib/apt/lists/* #run command
      sudo apt-get update #run command
      sudo dpkg --configure -a #run command
      sudo apt-get update #run command
      sudo apt-get install -f #run command       
    echo "">>terminal-fix-information
    echo "" >>terminal-fix-information
    echo " ###Παρακάτω είναι οι πηγές λογισμικού.Μπορείτε με βάση αυτου να βοηθηθείτε μέσα στο φόρουμ επείδη παραθέτει αρκετές πληροφορίες που μπορούν να χρειαστούν για την επίλυση του προβλήματος ###"   >>terminal-fix-information
    echo "" >>terminal-fix-information
    echo "" >>terminal-fix-information
    find /etc/apt -name '*.list' -exec bash -c 'echo -e "\n$1\n"; cat -n "$1"' _ '{}' \;  >>terminal-fix-information #write on logfile the command output
    sel3="3"
    clear
#end clean terminal Ubuntu
else
if [ "$selection" = "4" ] || [ "$answer" = "4" ] ; then
#start system information
     echo "### Οι πληροφόριες του συστήματος αναγράφονται παρακάτω ###">system-hardware-information #write on logfile
    echo "Παρακαλώ αναμένεται καθώς η διαδικασία καταγράφετε στο αρχείο[ανοίξτε στο αρχειο καταγράφης]"
    echo "">>system-hardware-information
    echo "" >>system-hardware-information
    sudo dmidecode >>system-hardware-information
    sel4="4"
    clear
#end system information
else
   if [ "$selection" = "5" ] || [ "$answer" = "5" ] ; then
#start GPU card+driver information
     echo "### Οι πληροφόριες της κάρτας γραφικών και ο οδηγός (driver) αναγράφονται παρακάτω ###">graphics-information #write on logfile
    echo "">>graphics-information
    echo "">>graphics-information
    lspci -nnk | grep -iA2 vga >>graphics-information
    sel5="5"
    clear
#GPU card+driver information
else
  if [ "$selection" = "6" ] || [ "$answer" = "6" ] ; then
#start Network card+driver information
     echo "### Οι πληροφόριες της κάρτας γραφικών και ο οδηγός (driver) αναγράφονται παρακάτω ###">network-card-information #write on logfile
    echo ""
    echo ""
    lspci -nnk | grep -iA2 net >>network-card-information
    sel6="6"
    clear
#Network card+driver information
else
     if [ "$selection" = "7" ] || [ "$answer" = "7" ] ; then
#start GB writes on disk information
     echo "### Οι πληροφόριες για τον αριθμό GB που έγραψε ο δίσκος αναγράφονται παρακάτω ###">write-gb-disk #write on logfile
    echo ""
    echo ""
    devices=$(df | grep "^/" | awk '{print $1}') && echo $devices  &&  for i in $devices ; do sudo tune2fs -l $i | awk '/^Lifetime\ writes/' ; done >>write-gb-disk
    sel7="7"
    clear
#end GB writes on disk information
else
   if [ "$selection" = "8" ] || [ "$answer" = "8" ] ; then
#start how much packages system have
    dpkg --get-selections >packages-installed-information
    wc -l packages-installed-information >>packages-installed-information
    sel8="8"
    clear
#end of how much packages system have;
else
if [ "$selection" = "9" ] || [ "$answer" = "9" ] ; then
#cpu information
    cat /proc/cpuinfo >cpu-information
    sel9="9"
    clear
#cpu information
else
if [ "$selection" = "10" ] || [ "$answer" = "10" ] ; then
    #ram-swap information
    cat /proc/meminfo >ram-swap-information
    echo "">>ram-swap-information
    echo "">>ram-swap-information
    echo "Πόσο Ram χρησιμοποιείται αυτή την στιγμή">>ram-swap-information
    echo "">>ram-swap-information
    echo "">>ram-swap-information
    free -g >>ram-swap-information
    sel10="10"
    clear 
#ram-swap information
else
if [ "$selection" = "11" ] || [ "$answer" = "11" ] ; then 
#partition information
    sudo df -HT>partions-information
    sel11="11"
    clear 
#partition information   
else
  if [ "$selection" = "12" ] || [ "$answer" = "12" ] ; then 
#pci information
    echo"PCI συσκευές">pci-usb-audio-system_drivers-information
    echo"">>pci-usb-audio-system_drivers-information
    echo"">>pci-usb-audio-system_drivers-information
    lspci>>pci-usb-audio-system_drivers-information
    echo"">>pci-usb-audio-system_drivers-information
    echo"">>pci-usb-audio-system_drivers-information
    echo"">>pci-usb-audio-system_drivers-information
    echo"USB συσκευές">>pci-usb-audio-system_drivers-information
    echo"">>pci-usb-audio-system_drivers-information
    echo"">>pci-usb-audio-system_drivers-information
    lsusb >>pci-usb-audio-system_drivers-information
    echo"">>pci-usb-audio-system_drivers-information
    echo"">>pci-usb-audio-system_drivers-information
    echo"">>pci-usb-audio-system_drivers-information
    echo"Audio συσκευή/ές">>pci-usb-audio-system_drivers-information
    echo"">>pci-usb-audion-system_drivers-information
    echo"">>pci-usb-audion-system_drivers-information
    lspci | grep -i audio >>pci-usb-audio-system_drivers-information
    echo"">>pci-usb-audio-system_drivers-information
    echo"">>pci-usb-audio-system_drivers-information
    echo"">>pci-usb-audio-system_drivers-information
    echo"System drivers">>pci-usb-audio-system_drivers-information
    echo"">>pci-usb-audio-system_drivers-information
    echo"">>pci-usb-audio-system_drivers-information
    sudo lsmod >>pci-usb-audio-system_drivers-information   
    sel12="12"
    clear 
#pci-usb-audio-system_drivers information
else
   if [ "$selection" = "13" ] || [ "$answer" = "13" ] ; then 
#tcp/udp information
    echo "#####TCP#####">Tcp-udp-information
    echo"">>Tcp-udp-information
    echo"">>Tcp-udp-information
    echo"">>Tcp-udp-information
    sudo ss -t -a>>Tcp-udp-information
    echo"">>Tcp-udp-information
    echo"">>Tcp-udp-information
    echo"#####UDP#####">>Tcp-udp-information
    echo"">>Tcp-udp-information
    echo"">>Tcp-udp-information
    echo"">>Tcp-udp-information
    sudo ss -u -a>>Tcp-udp-information
    sel13="13"
    clear 
#tcp/udp information
else
  if [ "$selection" = "14" ] || [ "$answer" = "14" ] ; then 
#services information
    sudo service --status-all>services-information
    sel14="14"
    clear 
#services information
else
   if [ "$selection" = "15" ] || [ "$answer" = "15" ] ; then 
#file road information
echo "  Εδώ μπορείτε να χρησιμοποιήσετε τους ειδικου χαρακτήρες <βαλαντέρ> για την αναζήτηση αρχείου"
echo "  Το * το οποίο υποδουλώνει ότι ταιριάζει με οποιοδήποτε χαρακτήρα πχ Τ*.*?"
echo "  Το ? το οποίο υποδουλώνει ότι ταιριάζει με έναν οποιοδήποτε χαρακτήρα πχ Τ?αρχ?ειο μου.do?"
echo "  Παρακάτω πληκρολογίστε κάποιο όνομα αρχείου προς αναζήτηση"
read fipath
    echo"">>file-path-information
    echo"">>file-path-information
    locate -b '\$fipath' $fipath>>file-path-information
    echo"">>file-path-information
    echo"">>file-path-information
    sel15="15"
  echo ""
  echo "  Εάν θέλετε να αναζητήσετε κάποιο άλλο αρχείο πατήστε το 1 παρακάτω ή το οποιοδήποτε άλλο πλήκτρο για έξοδο"
   read cheak
   clear
while [ "$cheak" = "1" ]
do
  echo "  Παρακάτω πληκρολογίστε κάποιο όνομα αρχείου προς αναζήτηση"
    read fipath
    echo"">>file-path-information
    echo"">>file-path-information
    locate -b '\$fipath'>>file-path-information
    echo"">>file-path-information
    echo"">>file-path-information
    echo ""
    echo "  Εάν θέλετε να αναζητήσετε κάποιο άλλο αρχείο πατήστε το 1 παρακάτω ή το οποιοδήποτε άλλο πλήκτρο για έξοδο"
       read cheak
done ##
#file road information
else
   if [ "$selection" = "16" ] || [ "$answer" = "16" ] ; then 
#realtime programm running information
    sudo pstree>programm-running-information
    sel16="16"
    clear 
#realtime programm running information

 

##########     
fi #1
fi #2
fi #3
fi #4
fi #5
fi #6
fi #7
fi #8
fi #9
fi #10
fi #11
fi #12
fi #13
fi #14
fi #15
fi #16
#########

selection="" #kill that var for not issues exist
#cheak what done;
if [ "$sel1" = "1" ] ; then
    hxo1="    1.Eνημέρωση - Aναβάθμιση [ΕΚΤΕΛΕΣΤΗΚΕ ανοίξτε στο αρχειο καταγράφης]"
  else
    hxo1="    1.Eνημέρωση - Aναβάθμιση"
  fi
 
  if [ "$sel2" = "2" ] ; then
     hxo2="   2.Θέλω τον καθαρισμό του συστήματος και τους παλαιούς πυρήνες [ΕΚΤΕΛΕΣΤΗΚΕ ανοίξτε στο αρχειο καταγράφης]"
  else
     hxo2="   2.Θέλω τον καθαρισμό του συστήματος και τους παλαιούς πυρήνες"
  fi
   if [ "$sel3" = "3" ] ; then
     hxo3="   3.Έχω πρόβλημα στο Τερματικό καθώς εκτελώ 'apt-get update' && 'apt-get upgrade' [ΕΚΤΕΛΕΣΤΗΚΕ Ανοίξτε το αρχείο καταγραφής για περισσότερες πληροφορίες των αποθετηρίων!]"
  else
     hxo3="   3.Έχω πρόβλημα στο Τερματικό καθώς εκτελώ 'apt-get update' && 'apt-get upgrade'"
  fi 
 
  if [ "$sel4" = "4" ] ; then
     hxo4="   4.Θέλω να δω τις αναλυτικές πληροφορίες του συστήματος μου [ΕΚΤΕΛΕΣΤΗΚΕ ανοίξτε στο αρχειο καταγράφης]"
  else
     hxo4="   4.Θέλω να δω τις αναλυτικές πληροφορίες του συστήματος μου"
  fi 
 
  if [ "$sel5" = "5" ] ; then
     hxo5="   5.Θέλω να δω ποιό είναι το μοντέλο της κάρτας γραφικών και ποιόν οδηγό(driver) χρησιμοποιεί [ΕΚΤΕΛΕΣΤΗΚΕ ανοίξτε στο αρχειο καταγράφης]"
  else
     hxo5="   5.Θέλω να δω ποιό είναι το μοντέλο της κάρτας γραφικών και ποιόν οδηγό(driver) χρησιμοποιεί"
  fi 
 
  if [ "$sel6" = "6" ] ; then
     hxo6="   6. Θέλω να δω πληροφορίες για την κάρτα του δικτύου και,τον οδηγό(driver) ο οποίος χρησιμοποιείται [ΕΚΤΕΛΕΣΤΗΚΕ ανοίξτε στο αρχειο καταγράφης]"
  else
     hxo6="   6. Θέλω να δω πληροφορίες για την κάρτα του δικτύου και,τον οδηγό(driver) ο οποίος χρησιμοποιείται"
  fi
 
  if [ "$sel7" = "7" ] ; then
     hxo7="   7.Θέλω να δω πόσα GB έχει γράψει ο δίσκος (Χρήσιμο για σκληρούς δίσκους (πχ SSD) [ΕΚΤΕΛΕΣΤΗΚΕ ανοίξτε στο αρχειο καταγράφης]"
  else
     hxo7="   7.Θέλω να δω πόσα GB έχει γράψει ο δίσκος (Χρήσιμο για σκληρούς δίσκους (πχ SSD)"
  fi   
 
  if [ "$sel8" = "8" ] ; then
     hxo8="   8.Θέλω να δω τον αριθμό των πακέτων καθώς επίσης και των βιβλιοθηκών - εξαρτήσεων του συστήματος που είναι εγκατεστημένα [ΕΚΤΕΛΕΣΤΗΚΕ ανοίξτε στο αρχειο καταγράφης]"
  else
     hxo8="   8.Θέλω να δω τον αριθμό των πακέτων καθώς επίσης και των βιβλιοθηκών - εξαρτήσεων του συστήματος που είναι εγκατεστημένα"
  fi
 
  if [ "$sel9" = "9" ] ; then
     hxo9="   9.Θέλω να δω τις πληροφορίες του επεξεργαστή CPU [ΕΚΤΕΛΕΣΤΗΚΕ ανοίξτε στο αρχειο καταγράφης]"
  else
     hxo9="   9.Θέλω να δω τις πληροφορίες του επεξεργαστή CPU"
  fi 
 
  if [ "$sel10" = "10" ] ; then
     hxo10="   10.Θέλω να δω τις πληροφορίες της μνήμης RAM και προβολή του μεγέθους της μνήμης σε gigabyte και την προβολή Swap που είναι σε χρήση [ΕΚΤΕΛΕΣΤΗΚΕ ανοίξτε στο αρχειο καταγράφης]"
  else
     hxo10="   10.Θέλω να δω τις πληροφορίες της μνήμης RAM και προβολή του μεγέθους της μνήμης σε gigabyte και την προβολή Swap που είναι σε χρήση"
  fi 
 
  if [ "$sel11" = "11" ] ; then
     hxo11="   11.Θέλω να δω τα διαμερίσματα που έχω στον δίσκο μου για το Ubuntu 'swap,home,boot κ.α' και τον χώρο που χρησιμοποιείται [ΕΚΤΕΛΕΣΤΗΚΕ ανοίξτε στο αρχειο καταγράφης]"
  else
     hxo11="   11.Θέλω να δω τα διαμερίσματα που έχω στον δίσκο μου για το Ubuntu 'swap,home,boot κ.α' και τον χώρο που χρησιμοποιείται"
  fi   
 
    if [ "$sel12" = "12" ] ; then
     hxo12="   12.Θέλω να δω τις πληροφορίες των pci/usb/audio/system drivers συσκευών [ΕΚΤΕΛΕΣΤΗΚΕ ανοίξτε στο αρχειο καταγράφης]"
  else
     hxo12="   12.Θέλω να δω τις πληροφορίες των pci/usb/audio/system drivers συσκευών"
  fi 
 
    if [ "$sel13" = "13" ] ; then
     hxo13="   13.Εμφάνιση των TCP/UDP port's [ΕΚΤΕΛΕΣΤΗΚΕ ανοίξτε στο αρχειο καταγράφης]"
  else
     hxo13="   13.Εμφάνιση των TCP/UDP port's"
  fi 

    if [ "$sel14" = "14" ] ; then
     hxo14="   14.Εμφάνιση των υπηρεσιών (services) του υπολογιστή [ΕΚΤΕΛΕΣΤΗΚΕ ανοίξτε στο αρχειο καταγράφης]"
  else
     hxo14="   14.Εμφάνιση των υπηρεσιών (services) του υπολογιστή"
  fi   
 
    if [ "$sel15" = "15" ] ; then
     hxo15="   15.Θέλω να βρώ κάποιο-α αρχείο-α καθώς και στον φάκελο τον οποίο βρίσκονται [ΕΚΤΕΛΕΣΤΗΚΕ τουλάχιστον πάνω από 1 φορά/ές ανοίξτε στο αρχειο καταγράφης]"
  else
     hxo15="   15.Θέλω να βρώ κάποιο-α αρχείο-α καθώς και στον φάκελο τον οποίο βρίσκονται"
  fi 

    if [ "$sel16" = "16" ] ; then
     hxo16="   16.Θέλω να δω ποιά προγράμματα εκτελούνται αυτή την στιγμή και τις εξαρτήσεις τους [ΕΚΤΕΛΕΣΤΗΚΕ ανοίξτε στο αρχειο καταγράφης]"
  else
     hxo16="   16.Θέλω να δω ποιά προγράμματα εκτελούνται αυτή την στιγμή και τις εξαρτήσεις τους"
  fi   
    clear
   
#end of cheak what done;   
echo ""
echo ""
echo "Επιλέξτε αν θέλετε να κάνετε κάτι άλλο[πατήστε το πλήκτρο της επιλογής σας]"
echo ""
echo "$hxo1"
echo ""
echo "$hxo2"
echo ""
echo "$hxo3"
echo ""
echo "$hxo4"
echo ""
echo "$hxo5"
echo ""
echo "$hxo6"
echo ""
echo "$hxo7"
echo ""
echo "$hxo8"
echo ""
echo "$hxo9"
echo ""
echo "$hxo10"
echo ""
echo "$hxo11"
echo ""
echo "$hxo12"
echo ""
echo "$hxo13"
echo ""
echo "$hxo14"
echo ""
echo "$hxo15"
echo ""
echo "$hxo16"
echo ""
echo "0.Έξοδος"
echo ""
echo "Πατήστε την επιλογή σας παρακάτω εάν θέλετε να συνεχίσεται ή 0 για έξοδο"
  read answer
  #cheak for correct entry

while (("$answer" <= 0 )) || (("$answer" > 16 ))
do
 
  if [ "$answer" = "0" ] ; then
     exit
  fi
      clear
       echo "Έχετε δώσει λάθος εντολή.Παρακαλώ πληκτρολογήστε την σωστή επιλογή"
       echo ""
       echo "$hxo1"
       echo ""
       echo "$hxo2"
       echo ""
       echo "$hxo3"
       echo ""
       echo "$hxo4"
       echo ""
       echo "$hxo5"
       echo ""
       echo "$hxo6"
       echo ""
       echo "$hxo7"
       echo ""
       echo "$hxo8"
       echo ""
       echo "$hxo9"
       echo ""
       echo "$hxo10"
       echo ""
       echo "$hxo11"
       echo ""
       echo "$hxo12"
       echo ""
       echo "$hxo13"
       echo ""
       echo "$hxo14"
       echo ""
       echo "$hxo15"
       echo ""
       echo "$hxo16"
       echo ""
       echo "0.Έξοδος"
       echo ""
       echo "Πατήστε την επιλογή σας παρακάτω εάν θέλετε να συνεχίσεται ή 0 για έξοδο"
        read answer
done #end of cheak correct entry         

done #end loop

Λινκ https://github.com/GiwrgosAtmatsidis/Ubuntu-script
1 Linux: Μέτριο┃ Προγρ: Visual Basic,Java,CSS 3,HTML 5 ┃ Αγγλ: Καλά
2 Operating System:||Lubuntu 15.04|| CPU: Intel Core 2 Duo E7400 @ 2.80GHz, RAM: 4,00GB Dual-Channel DDR2 @ 333MHz, Motherboard: ASRock G41C-GS (CPUSocket),Graphics:2047MB NVIDIA GeForce GT 610 (Gigabyte)
Άβαταρ μέλους
giwrgosatma
punkTUX
punkTUX
 
Δημοσιεύσεις: 201
Εγγραφή: 10 Ιαν 2014, 16:46
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό Stefanos » 19 Σεπ 2015, 04:16

Έχω μια απορία... όταν γράφουμε ένα script και το σώζουμε ας πουμε στο home, για να τρέξει αυτο γινεται μονο με ./script.sh ? Δεν γίνεται μονο με scipt ? Επίσης πρεπει να το κανουμε κρυφο ας πουμε ?
Γνώσεις ⇛ Linux: Ελάχιστες ┃ Προγραμματισμός: Ελαχιστος┃ Αγγλικά: Πολύ Καλά
Λειτουργικό ⇛ Linux Ubuntu 16.04
Προδιαγραφές ⇛ Dual core Intel i5-5200U CPU @ 2,2 GHz│4GB Ram│ AMD Radeon R5 M330 1 GB│ Intel Wildcat Point-LP High Definition Audio Controller
Laptop ⇛ Lenovo G50-80
Stefanos
punkTUX
punkTUX
 
Δημοσιεύσεις: 230
Εγγραφή: 03 Αύγ 2008, 03:59
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό fkol k4 » 19 Σεπ 2015, 09:12

Stefanos έγραψε:Έχω μια απορία... όταν γράφουμε ένα script και το σώζουμε ας πουμε στο home, για να τρέξει αυτο γινεται μονο με ./script.sh ? Δεν γίνεται μονο με scipt ? Επίσης πρεπει να το κανουμε κρυφο ας πουμε ?


Η κατάληξη δεν βρίσκεται εκεί για να κάνει το αρχείο εκτελέσιμο ούτε είναι υποχρεωτική, απλώς συνήθως χρησιμοποιείται ως ένδειξη για το σε ποια γλώσσα έχει γραφτεί αυτό.
Αν δεν θέλεις να γράφεις την κατάληξη, σώσε το αρχείο με κάποιο όνομα χωρίς κατάληξη. Πχ, αν θέλεις να γράφεις 'script' και να τρέχει, τότε σώσε το αρχείο με αυτό το όνομα. Το 'script.sh' είναι διαφορετικό αρχείο.

Για παράδειγμα, ας υποθέσουμε πως στον ίδιο φάκελο έχεις μερικά διαφορετικά αρχεία. Τα script.sh (bash), script.php (php), script.py (python), script.rb (ruby), κτλ.
Αν γράψεις απλώς script, τότε ποιο από όλα θα πρέπει να εκτελεστεί;

Γενικότερα, μια αρχή που χρησιμοποιείται στον προγραμματισμό και το scripting, είναι πως κατάληξη βαζεις στα αρχεία που χρησιμοποιείς ως libraries, ενώ στο ίδιο το εκτελέσιμο δεν χρησιμοποιείς κατάληξη.
Γνώσεις: Linux: ★★★☆☆ Προγραμματισμός: ★☆☆☆☆ Αγγλικά: ★★★★★
Η υπογραφή μου
Οδηγίες για αρχάριους στο Ubuntu (12.04 LTS)Οδηγοί του forum
Άβαταρ μέλους
fkol k4
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4829
Εγγραφή: 28 Φεβ 2011, 22:56
Τοποθεσία: Αθήνα
Launchpad: fkol-k4
IRC: fkol_k4
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό Stefanos » 20 Σεπ 2015, 04:36

Ευχαριστω για την απάντηση. Επισης υπάρχει τρόπος με το zenity να φτιάξω δικά μου κουμπιά?? βλέπω ότι έχει κάποια default μονο...
Γνώσεις ⇛ Linux: Ελάχιστες ┃ Προγραμματισμός: Ελαχιστος┃ Αγγλικά: Πολύ Καλά
Λειτουργικό ⇛ Linux Ubuntu 16.04
Προδιαγραφές ⇛ Dual core Intel i5-5200U CPU @ 2,2 GHz│4GB Ram│ AMD Radeon R5 M330 1 GB│ Intel Wildcat Point-LP High Definition Audio Controller
Laptop ⇛ Lenovo G50-80
Stefanos
punkTUX
punkTUX
 
Δημοσιεύσεις: 230
Εγγραφή: 03 Αύγ 2008, 03:59
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό Stefanos » 20 Σεπ 2015, 17:04

α γράψω και εγω το κατι τις μου. Ειναι το πρώτο μου script ever και το μονο που κάνει ειναι να ανοιγοκλείνει τον apache ή και να κάνει restart. Επειδη παλευω με τον httpd.conf, μετα απο κάθε αλλαγή έπρεπε να τον επανακινώ οπότε εκανα αυτο το μικρό script για πιο γρήγορα. Ακουω αποψεις :-) :-)

Thanks


Κώδικας: Επιλογή όλων
#!/bin/bash

#Change the path of apachectl accordingly.
# Runs only as root.
echo
echo "What would you like to do?"
echo
echo "Press 1 to start Apache"
echo "Press 2 to stop Apache"
echo "Press 3 to restart Apache"

read -s input
echo
echo "Checking for UID..."
if [ $UID = 0 ]
   then
     if [ "$input" == "1" ]
        then
           /usr/local/apache/bin/apachectl -k start
           file=/usr/local/apache/logs/httpd.pid
           if [ -e "$file" ]; then
               echo "Apache's PID is:"
               cat /usr/local/apache/logs/httpd.pid
               echo "...done"
           else
               echo "...PID file created"
           fi
     elif [ "$input" == "2" ]
         then /usr/local/apache/bin/apachectl -k stop
         echo "...done"
     elif [ "$input" == "3"  ]
         then /usr/local/apache/bin/apachectl -k restart
         echo "Apache's PID is:"
         cat /usr/local/apache/logs/httpd.pid
         echo "...done"
     fi
elif [ $UID = 1000 ]
    then
      echo "...you are not root"
fi


Γνώσεις ⇛ Linux: Ελάχιστες ┃ Προγραμματισμός: Ελαχιστος┃ Αγγλικά: Πολύ Καλά
Λειτουργικό ⇛ Linux Ubuntu 16.04
Προδιαγραφές ⇛ Dual core Intel i5-5200U CPU @ 2,2 GHz│4GB Ram│ AMD Radeon R5 M330 1 GB│ Intel Wildcat Point-LP High Definition Audio Controller
Laptop ⇛ Lenovo G50-80
Stefanos
punkTUX
punkTUX
 
Δημοσιεύσεις: 230
Εγγραφή: 03 Αύγ 2008, 03:59
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό lepidas » 07 Οκτ 2016, 11:30

Θα χρειαστείτε τη βοήθεια σας. Εδώ που δουλεύω τώρα κάνουμε ανακαινίσεις στα πρατήρια της εσσο και πετάμε τις οθόνες στα σκουπίδια. Πήρα μία σπίτι αλλά είναι κλειδωμένη με 4ψηφιο pin. Έφτιαξαν ένα raspberry pi με υπέρυθρο led, του έμαθα τα πλήκτρα του χειριστηρίου και μπορώ πλέον να στελνω στην οθόνη αριθμούς από το 0 έως το 9. Το πρόβλημα ειναι ότι θα χρειαστείτε ένα σκριπτ που θα τυπώνει( ή εντολή είναι irsend SEND_ONCE Sam KEY_0 έως KEY_9 ) από το 0000 έως το 9999, δηλαδή 0000,0001,0002,0003.....9991,9992,9993,9994,9995,9996,9997,9998,9999.
Άβαταρ μέλους
lepidas
superbTUX
superbTUX
 
Δημοσιεύσεις: 3326
Εγγραφή: 11 Μάιος 2011, 11:10
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό fkol k4 » 07 Οκτ 2016, 13:59

lepidas έγραψε:Θα χρειαστείτε τη βοήθεια σας. Εδώ που δουλεύω τώρα κάνουμε ανακαινίσεις στα πρατήρια της εσσο και πετάμε τις οθόνες στα σκουπίδια. Πήρα μία σπίτι αλλά είναι κλειδωμένη με 4ψηφιο pin. Έφτιαξαν ένα raspberry pi με υπέρυθρο led, του έμαθα τα πλήκτρα του χειριστηρίου και μπορώ πλέον να στελνω στην οθόνη αριθμούς από το 0 έως το 9. Το πρόβλημα ειναι ότι θα χρειαστείτε ένα σκριπτ που θα τυπώνει( ή εντολή είναι irsend SEND_ONCE Sam KEY_0 έως KEY_9 ) από το 0000 έως το 9999, δηλαδή 0000,0001,0002,0003.....9991,9992,9993,9994,9995,9996,9997,9998,9999.


Αν θέλεις απλά ένα πρόχειρο σκριπτάκι που να τυπώνει με τη σειρά όλους τους αριθμούς από το 0000 ως το 9999, μπορείς να το κάνεις κάπως έτσι:
Μορφοποιημένος Κώδικας: Επιλογή όλων
declare -i x=0

while [ $x -le 9 ]; do
echo "000$x"
x=($x+1)
done

while [ $x -le 99 ]; do
echo "00$x"
x=($x+1)
done

while [ $x -le 999 ]; do
echo "0$x"
x=($x+1)
done

while [ $x -le 9999 ]; do
echo "$x"
x=($x+1)
done

αντικαθιστώντας φυσικά την `echo` που έβαλα εγώ για δοκιμή με τη δική σου εντολή.

Εκτός αν δεν έχω καταλάβει καλά τι χρειάζεσαι.
Γνώσεις: Linux: ★★★☆☆ Προγραμματισμός: ★☆☆☆☆ Αγγλικά: ★★★★★
Η υπογραφή μου
Οδηγίες για αρχάριους στο Ubuntu (12.04 LTS)Οδηγοί του forum
Άβαταρ μέλους
fkol k4
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4829
Εγγραφή: 28 Φεβ 2011, 22:56
Τοποθεσία: Αθήνα
Launchpad: fkol-k4
IRC: fkol_k4
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό lepidas » 07 Οκτ 2016, 18:23

Δεν το εξήγησα σωστά.
Η οθόνη περιμένει να δεχτεί μια σειρά απο 4 ψηφία, αν η σειρά είναι σωστή τότε διάνα. Είναι όπως το pin του κινητού, σε αφήνει ένα αριθμό σε κάθε πεδίο. Ανέβασα ένα βίντεο για να καταλάβουμε. https://www.youtube.com/watch?v=8qxLVoV2vro
Δηλαδή το σκρίπτ θα πρέπει να δίνει μια τετράδα αλλά ένα ένα με όλους τους δυνατούς συνδιασμούς 0000-9999
Άβαταρ μέλους
lepidas
superbTUX
superbTUX
 
Δημοσιεύσεις: 3326
Εγγραφή: 11 Μάιος 2011, 11:10
Εκτύπωση

Re: Τα πάντα για το Bash...

Δημοσίευσηαπό fkol k4 » 07 Οκτ 2016, 19:49

lepidas έγραψε:Δεν το εξήγησα σωστά.
Η οθόνη περιμένει να δεχτεί μια σειρά απο 4 ψηφία, αν η σειρά είναι σωστή τότε διάνα. Είναι όπως το pin του κινητού, σε αφήνει ένα αριθμό σε κάθε πεδίο. Ανέβασα ένα βίντεο για να καταλάβουμε. https://www.youtube.com/watch?v=8qxLVoV2vro
Δηλαδή το σκρίπτ θα πρέπει να δίνει μια τετράδα αλλά ένα ένα με όλους τους δυνατούς συνδιασμούς 0000-9999


Σε αυτή την περίπτωση θα σε βοηθήσει ένα ψάξιμο του τύπου "how to brute force passwords with bash".
Επίσης, θα βοηθήσει να ξέρεις αν για να βάλεις τον κωδικό πχ 1234 θα πρέπει να δώσεις την εντολή
Κώδικας: Επιλογή όλων
irsend SEND_ONCE Sam KEY_1234
ή να την κάνεις τέσσερις και να γίνει
Κώδικας: Επιλογή όλων
irsend SEND_ONCE Sam KEY_1
irsend SEND_ONCE Sam KEY_2
irsend SEND_ONCE Sam KEY_3
irsend SEND_ONCE Sam KEY_4

Μια πρόχειρη ιδέα στην 2η περίπτωση θα ήταν να βάλεις τέσσερα 'for' loops το ένα μέσα στο άλλο και να δουλέψουν κάπως όπως και το σκριπτάκι που σου έδειξα.
Γνώσεις: Linux: ★★★☆☆ Προγραμματισμός: ★☆☆☆☆ Αγγλικά: ★★★★★
Η υπογραφή μου
Οδηγίες για αρχάριους στο Ubuntu (12.04 LTS)Οδηγοί του forum
Άβαταρ μέλους
fkol k4
antiwinTUX
antiwinTUX
 
Δημοσιεύσεις: 4829
Εγγραφή: 28 Φεβ 2011, 22:56
Τοποθεσία: Αθήνα
Launchpad: fkol-k4
IRC: fkol_k4
Εκτύπωση

ΠροηγούμενηΕπόμενο

Επιστροφή στο Ανάπτυξη Λογισμικού / Αλγόριθμοι