Module Linux essentials - Module 9: Basic scripting

Module Linux essentials - Module 9 introduce basic scripting. This chapter will guide how to turn commands into a script. After studying this chapter you should be able to: Basic text editing, basic shell scripting. Inviting you to refer. | Module 9 Basic Scripting Exam Objective Turning Commands into a Script Objective Summary Basic Text Editing Basic Shell Scripting Text Editors A script is a sequence of commands If you can type it on the command line, it can be scripted You can branch based on tests and loop over collections This is all available from the command line, too Scripts are repeatable and consistent and free you to do more interesting work Editors Scripts are text files LibreOffice will add formatting, making it unusable nano and vi / vim are popular editors Of the two, nano is far easier to use nano Type as normal, use arrow keys to move around Most commands are Control + another character Context sensitive commands are at the bottom of the screen, . ^X to exit, ^W to find ^G gets you help anywhere shebang #! #! is the shebang (hash + bang) Tells the kernel what shell interpreter to use to run the script Must be on the first line #!/bin/sh #!/usr/bin/ruby Lets you run the script with ./script no matter which shell the user has Working with Variables Variables Temporary storage of data in memory Assigning (no $): FOO=“hello” CWD=`pwd` BAR=“Hello $NAME” Using (need a $): $FOO echo “Hello $NAME” Special Variables $1$9 are the arguments to the script ./ hello there # $1=“hello” $2=“there” $? is the exit code of the last command to be run use “exit 1” to exit your own script with error code 1 Working with Conditionals Conditionals if something; then do this fi if something; then do this elif something else; then do that else try this fi # something returns an exit code. If it is 0, then “do this” will be executed up until fi # alternative syntax, allows for multiple tests and a default option if you want tests test –f /tmp/foo # test if file exists test ! –f /tmp/foo # test if file doesn’t exist test $A –eq 1 # is $A = 1 (numeric) test “$B” = “Hello” # string comparison test $A –lt 10 # $A < 10? alternatively, [ is the same as test: if test –f /tmp/foo; then # it works if [ -f /tmp/foo ]; then # looks much nicer! Case case ”$GREETING" in hello|hi) echo "hello yourself" ;; goodbye) echo "nice to have met you" echo "I hope to see you again" ;; *) echo "I didn't understand that" esac Loops The for loop Operates over a fixed set of items or a glob NAMES=“Alice Bob Charlie” for N in $NAMES; do echo “Hello $N” done for FILE in *; do ls –l $FILE done While loops Tests the loop condition each time while [ ! –f /tmp/foo ]; do try_to_make_foo # makes /tmp/foo on success sleep 1 # wait 1 sec done Used when the number of loops is unknown or changes each loop | Module 9 Basic Scripting Exam Objective Turning Commands into a Script Objective Summary Basic Text Editing Basic Shell Scripting Text Editors A script is a sequence of commands If you can type it on the command line, it can be scripted You can branch based on tests and loop over collections This is all available from the command line, too Scripts are repeatable and consistent and free you to do more interesting work Editors Scripts are text files LibreOffice will add formatting, making it unusable nano and vi / vim are popular editors Of the two, nano is far easier to use nano Type as normal, use arrow keys to move around Most commands are Control + another character Context sensitive commands are at the bottom of the screen, . ^X to exit, ^W to find ^G gets you help anywhere shebang #! #! is the shebang (hash + bang) Tells the kernel what shell interpreter to use to run the script Must be on the first line #!/bin/sh #!/usr/bin/ruby Lets you run the script with ./script no .

Không thể tạo bản xem trước, hãy bấm tải xuống
TỪ KHÓA LIÊN QUAN
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.