1 2 3 4 5 | # Of env | grep SHELL # en ter overbodigheid grep username /etc/passwd | awk -F\/ '{print $NF}' |
1 2 3 4 | $ bash $ echo $SHELL /bin/zsh |
1 |
1 2 3 4 5 6 7 | CHARS=(t v p) for C in ${CHARS[@]} do echo -n $C done echo '' |
apt-get install humor?quote:Op maandag 14 januari 2008 12:11 schreef Daniel1976 het volgende:
Daarbij zijn dat commando's die zo ontzettend zielig zijn om te roepen in dit soort topics.quote:Op maandag 14 januari 2008 12:14 schreef Slarioux het volgende:
Dat kan je je postrechten kosten Daniel. Zeg maar voor altijd.
nee, dit kost je postrechten:quote:Op maandag 14 januari 2008 12:14 schreef Slarioux het volgende:
Dat kan je je postrechten kosten Daniel. Zeg maar voor altijd.
mietje slarquote:Op maandag 14 januari 2008 12:54 schreef slacker_nl het volgende:
nee, dit kost je postrechten:
Wat doet 't ofzo? Ik ken niks van code dus zou wel graag weten wat 't is voor ik 't eens uitprobeerquote:
Deze code print de letters TVP op je console.quote:Op woensdag 16 januari 2008 13:52 schreef tony_clifton- het volgende:
[..]
Wat doet 't ofzo? Ik ken niks van code dus zou wel graag weten wat 't is voor ik 't eens uitprobeer
Niet perse natuurlijk, deze code kan je ook gewoon in terminal inkloppen en dan moet het ook werken. Maar in een file is het idd makkelijker, vooral als je moet gaan editten :)quote:Op woensdag 16 januari 2008 13:57 schreef whoops het volgende:
[..]
Deze code print de letters TVP op je console. :)
Om dit de draaien moet je die code in een bestand opslaan (bijvoorbeeld filename.sh), dan met de terminal naar de directory waar het in staat en dan 'chmod +x filename.sh', en uitvoeren door ./filename.sh uit te voeren.
1 2 3 4 5 6 7 8 | 16:03 pts/9 0 wesleys@eniac:/home/wesleys$ which enter enter () { echo "Enter the shell" } 16:03 pts/9 0 wesleys@eniac:/home/wesleys$ enter Enter the shell 16:03 pts/9 0 wesleys@eniac:/home/wesleys$ |
De makkelijkste manier om dit te doen is overigens zo:quote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | # Define backtitle BACKTITLE="Nice message you got here!" # Define header text HEADER="This text acts like a header!" # Define box format, Height, Width, List Height SIZE_H=20 SIZE_W=50 SIZE_L=30 dialog --backtitle "$BACKTITLE" --checklist "$HEADER" $SIZE_H $SIZE_W $SIZE_L \ "Choice 1" "Description One!" ON \ "Choice 2" "Second Description!" ON \ "Choice 3" "Third and Last!" OFF \ 2> /tmp/checklist.tmp.$$ retval=$? choice=`cat /tmp/checklist.tmp.$$` rm -f /tmp/checklist.tmp.$$ case $retval in 0) if [ -n "$choice" ] then echo "You chose: $choice" else echo "Can't choose?" fi;; 1) echo "Cancel pressed.";; 255) echo "ESC pressed.";; esac |
1 2 3 4 | SIZE_H=20 SIZE_W=50 SIZE_L=3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | # Define backtitle BACKTITLE="'Nice message you got here!'" # Define header text HEADER="'This text acts like a header!'" # Define box format, Height, Width, List Height SIZE_H=20 SIZE_W=50 #SIZE_L=3 choices[0]="'Choice 1' 'Description one!' ON" choices[1]="'Choice 2' 'Description two!' ON" choices[2]="'Choice 3' 'Description three!' OFF" choices[3]="'Choice 4' 'Description four!' ON" choices[4]="'Choice 5' 'Description five!' ON" SIZE_L=${#choices[@]} for ((a=0; a < SIZE_L ; a++)); do line="$line ${choices[$a]}" done choice=$(eval dialog --stdout --backtitle $BACKTITLE --checklist $HEADER $SIZE_H $SIZE_W $SIZE_L $line); retval=$? case $retval in 0) if [ -n "$choice" ] then echo "You chose: $choice" else echo "Can't choose?" fi;; 1) echo "Cancel pressed.";; 255) echo "ESC pressed.";; esac |
1 |
1 2 3 4 5 6 7 8 9 10 | CONFIG_FILE_A='/home/whoops/.server-control' CONFIG_FILE_B='~/.server-control' echo $CONFIG_FILE_A echo $CONFIG_FILE_B if [ -f "$CONFIG_FILE_A" ]; then echo "A exists"; fi if [ -f "$CONFIG_FILE_B" ]; then echo "B exists"; fi |
Je haalt nu twee dingen door elkaar;quote:Op dinsdag 24 juni 2008 18:45 schreef whoops het volgende:
Ik heb 2 vragen.
1: is er een makkelijkere manier om $i met 1 op te hogen?
[ code verwijderd ]
quote:2: In onderstaande code wil ik een dot-file uit m'n homedir inlezen, ik kan deze waarde echter niet variabel maken. Hoe krijg ik dat voor elkaar?
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 | CONFIG_FILE_A="$HOME/.env.local" CONFIG_FILE_B="~/.env.local" for i in $CONFIG_FILE_A $CONFIG_FILE_B ; do if [ -f "$i" ]; then echo "'$i' exists"; # Pick any . $i source $i fi done |
Dit is overigens heel erg niet-portable naar ‘sh’ op deze manier. Als je een shell-script moet maken dat onder sh werkt, kun je dit niet gebruiken (daar heb je andere trucs voor, met eval, maar daar begin ik liever niet over.)quote:Op donderdag 19 juni 2008 01:41 schreef slacker_nl het volgende:
Gebruik van arrays
[ code verwijderd ]
Nu weet ik dat whoops 99,9% bash code schrijft, en ik weet ook dat ie in 99,99% geen sh compatible code nodig heeftquote:Op dinsdag 24 juni 2008 19:44 schreef Iblis het volgende:
[..]
Dit is overigens heel erg niet-portable naar ‘sh’ op deze manier. Als je een shell-script moet maken dat onder sh werkt, kun je dit niet gebruiken (daar heb je andere trucs voor, met eval, maar daar begin ik liever niet over.)
|
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |