App installieren
How to install the app on iOS
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Shell-Skript: Optionaler Parameter
- Ersteller McAvatar
- Erstellt am
McAvatar
Admiral Special
- Mitglied seit
- 11.08.2004
- Beiträge
- 1.268
- Renomée
- 8
- Standort
- Bielefeld, NRW
- Aktuelle Projekte
- Einstein@Home
- BOINC-Statistiken
- Folding@Home-Statistiken
- Prozessor
- AMD X4 845
- Mainboard
- Asrock FM2A88X Extreme4+
- Speicher
- Kingston HyperX Predator 2x4GB 2400
- Grafikprozessor
- ATI 7850
- Display
- Asus VN279QLB
- SSD
- 1x Samsung Evo 500GB
- Optisches Laufwerk
- LG BD-ROM / DVD Rewriter
- Gehäuse
- Fractal Design Arc Midi R2
- Netzteil
- Seasonic G360
Hallo Leute, mal eine Frage zu Shell-Skripten:
Momentan lasse ich ein Skript mittels "$@" über alle angegeben Parameter - hier Dateinamen - laufen. Allerdings bietet es sich an, die Hamming-Distanz über einen optionalen Parameter variieren zu können. Wie würdet ihr vorgehen, wenn ein Parameter optional ist, während beliebig viele weitere Parameter folgen können?
Momentan lasse ich ein Skript mittels "$@" über alle angegeben Parameter - hier Dateinamen - laufen. Allerdings bietet es sich an, die Hamming-Distanz über einen optionalen Parameter variieren zu können. Wie würdet ihr vorgehen, wenn ein Parameter optional ist, während beliebig viele weitere Parameter folgen können?
Code:
#!/bin/bash
DEBUG='true' # Debug-Modus mit zusaetzlichen Log-Informationen an-/ausschalten
#VMATCHPATH=~/vmatch.distribution/
for file in "$@"
do
startTime=$(date +%s)
filesize=$(ls -l "${file}"| awk '{ print $5 }')
MAXREPEATZAHL=268435456 # 2^28 = 256M
SCALEBEGIN=16777216 # 2^24 = 16M
HAMMINGDISTANCE=2
LOGFILE="${file}".log
...
Dalai
Grand Admiral Special
- Mitglied seit
- 14.06.2004
- Beiträge
- 7.420
- Renomée
- 262
- Standort
- Meiningen, Thüringen
- Mein Laptop
- Thinkpad T43 mit 15" UXGA (1600x1200), 2x 1 GiB RAM, 100GB HD, Bluetooth, GBit LAN, ATi X300
- Prozessor
- AMD Ryzen 5 2600 (Pinnacle Ridge)
- Mainboard
- ASUS Prime X370-A
- Kühlung
- Noctua NH-U12S mit 1x NF-F12
- Speicher
- Crucial Ballistix Sport LT weiß (BLS2K8G4D32AESCK): 2x 8 GiB DDR4-3200 (CL16) @ 1,25V
- Grafikprozessor
- Zotac GeForce GTX 1060 6GB AMP Edition
- Display
- Dell U2410, 24 Zoll, IPS, 16:10
- SSD
- Samsung 850 Evo 250 GB
- HDD
- WD40EZRZ (WD Blue) 4000GB SATA3, WD20EZRX (WD Green) 2000GB SATA3
- Optisches Laufwerk
- Pio DVR-212 (DVD-RAM), ASUS E818A6T (DVD-ROM), Pio DVD-106S (Slot-in DVD-ROM)
- Soundkarte
- Creative SoundBlaster Audigy 2 ZS PCI
- Gehäuse
- Lian Li PC-8NB Midi-Tower
- Netzteil
- Enermax EMP400AGT MaxPro 400W
- Betriebssystem
- Windows 7 Professional x64 und immer mal wieder ein neues Linux :-)
- Webbrowser
- Mozilla Firefox mit diversen Erweiterungen
- Verschiedenes
- 2x 120mm Gehäuselüfter (Front und Rückwand), DVBSky T9580, Sharkoon Frontpanel B (2x USB 3.0)
Stichwörter getopts und Parameter substitution. Damit kannst du auch dein Debug als optional verarzten. Ich hab getopts selber noch nicht verwendet. Bislang schreibe ich immer Konfigdateien, in denen die Einstellungen (optionale sind auch dort möglich) angegeben werden, die dann einfach gesourcet werden:
MfG Dalai
Code:
### Pfad und Name der Einstellungdatei
SETTINGSFILE=${0%.*}.conf
### Einstellungsdatei einlesen/sourcen, sofern vorhanden
[ ! -r "${SETTINGSFILE}" ] && { echo "Einstellungsdatei ${SETTINGSFILE} fehlt! Abbruch."; exit 1; }
. "${SETTINGSFILE}"
MfG Dalai
Zuletzt bearbeitet:
McAvatar
Admiral Special
- Mitglied seit
- 11.08.2004
- Beiträge
- 1.268
- Renomée
- 8
- Standort
- Bielefeld, NRW
- Aktuelle Projekte
- Einstein@Home
- BOINC-Statistiken
- Folding@Home-Statistiken
- Prozessor
- AMD X4 845
- Mainboard
- Asrock FM2A88X Extreme4+
- Speicher
- Kingston HyperX Predator 2x4GB 2400
- Grafikprozessor
- ATI 7850
- Display
- Asus VN279QLB
- SSD
- 1x Samsung Evo 500GB
- Optisches Laufwerk
- LG BD-ROM / DVD Rewriter
- Gehäuse
- Fractal Design Arc Midi R2
- Netzteil
- Seasonic G360
Gute Idee, funktioniert.
Code:
#!/bin/bash
NO_ARGS=0
USAGE="# Verwendung: `basename $0` [-l <Mindestrepeatlaenge>] <Dateiname(n)>"
minRepeatLength=0
# Mindestens ein Argument ist anzugeben.
if [ $# -eq "$NO_ARGS" ]
then
echo $USAGE
echo "# Mindestens ein Dateiname ist anzugeben, Wildcards wie '*' sind moeglich."
exit
fi
while getopts "l:" options;
do
case $options in
l ) minRepeatLength=$OPTARG
echo '# Beruecksichtige nur Repeats mit einer Laenge >= ' $minRepeatLength;;
\? ) echo $USAGE
exit 1;;
esac
done
shift $((OPTIND-1))
startTime=$(date +%s)
for file in "$@"
do
LOGFILE="${file}".logfile
...