SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
Bash Scripting
➢ Кaкво е това нещо bash
➢ За какво може да се използва
➢ Как да разберем кога нещо не е за bash
Bash Scripting
Ресурси от където можете да започнете
➢ http://www.tldp.org/HOWTO/
Bash-Prog-Intro-HOWTO.html
--- man bash ---
➢ Advanced bash scripting
http://www.tldp.org/LDP/abs/html/
Bash Scripting
Прост скрипт на bash
#!/bin/bash
STR="Hello World!"
echo $STR
Bash Scripting
Какво ни е нужно за да си
напишем хубав скрипт
➢ ясно дефиниране на задачата
➢ познаване на командите които ще ползвате
за да се свърши задачата
➢ свободно време :)
Bash Scripting
Видове скриптове
➢ one line
ps aux|grep root|awk '{print $2}'
➢ multiline
string='2'
let string++
echo $string
Bash Scripting
Variables
➢ export, typeset, declare, readonly
➢ local, global
function x {
local USER='root'
}
Bash Scripting
Variables deference
➢ $a
➢ file_no$a
➢ $afile_no – does not work :)
➢ ${a}file_no – this is the way to do it
Bash Scripting
File descriptors(std=standard):
stdin – uses pipe or <
stdout – uses >
stderr – uses 2>
Bash Scripting
Какво можете да правите с тези file descriptor-и:
1. redirect stdout to a file
( ls -l > ls-l.txt )
2. redirect stderr to a file
( grep da * 2> grep-errors.txt )
3. redirect stdout to a stderr
( grep da * 1>&2 )
4. redirect stderr to a stdout
( grep * 2>&1 )
5. redirect stderr and stdout to a file
( rm -f $(find / -name core) &> /dev/null )
Bash Scripting
Pipes
ls -l | grep aha
ps aux | grep userx | awk '{print $2}'
cat filename | sed 's/krava/mlqko/g'
Bash Scripting
#!/bin/bash
tar -cfz /usr/local/backup/my-backup-today.tgz 
/home/me
#!/bin/bash
dir='/usr/local/backup'
file=$dir/my-backup-$(date+%Y%m%d).tgz
tar -cfz $file /home/me
Bash Scripting
debuging
най дорият начин:
#!/bin/bash -x
за големи скриптове
echo или read
Bash Scripting
Контролни структори
if-then-else
if-then-elif-then-elif-then-else
select-in
case-in
for-do
while-do
until-do
Bash Scripting
if-then-else
if [ “$1” == '' ]; then
echo “Usage: $0 variable”
else
make_me_stop
fi
if ( ! ps ax | grep kuku > /dev/null ); then
echo “KUKU not found!”
fi
Bash Scripting
Difference in parenthesis
( ) - executes commands in new shell
{ } - executes commands in the current shell
(( )) - arithmetic expressions
[ ] - basic integer arithmetic, basic string comparison
and file attributes checks
[[ ]] - basic integer arithmetic, regular expressions and
file attributes checks
Bash Scripting
if-then-elif-then-else
if [ "$1" == 'weekly' ]; then
table_list=$(<tables.weekly)
elif [ "$1" == 'daily' ]; then
table_list=$(<tables.daily)
else
table_list=$(<tables.hourly)
fi
tables=''
for table in $table_list; do tables="$tables $table"; done
mysqldump --compact -e -t -q -R --single-transaction blog_db
$tables
Bash Scripting
case-in
case “$1” in
'start')
make_me_stop ;;
'stop')
make_me_start ;;
*)
echo “Usage: $0 variable” ;;
esac
Bash Scripting
for-do
for var in `seq 1 10`; do
echo -n “$var “
done
Ето какво ще изведе това:
1 2 3 4 5 6 7 8 9 10
for file in /bin/*; do
echo $file
done
Това е еквивалентно на ls -1A /bin
Bash Scripting
while-do
count=0;
while(true); do
let count++;
if [ “$count” == “10” ]; then
exit 0;
fi
done
Bash Scripting
while-do
count=0;
while(true); do
let count++;
if [ “$count” == “10” ]; then
exit 0;
fi
done
Bash Scripting
functions
function fixme {
echo $0 $1 $2 $3
}
Как викаме функция
# ./fixme a j k
./fixme a j k
#
Bash Scripting
Bash regular expressions
#!/bin/bash
regex=$1
if [[ $1 =~ $regex ]]; then
echo “$2 matched”
else
echo “$2 NOT matched”
fi
# ./regex search searchstring
searchstring matched
Bash Scripting
Bash substitutions
#!/bin/bash
for i in /dir/*; do
echo ${i/.*/}
done
$ ls *.pl *.txt
collect-plans.pl cpu-abuse.pl landing.txt ap_write.txt
$ ./script
collect-plans
cpu-abuse
landing
ap_write
Bash Scripting
Bash substitutions
Inside ${ ... } Action taken
name:number:number Substring starting character,
length
#name Return the length of the
string
name#pattern Remove (shortest)
front-anchored pattern
name##pattern Remove (longest)
front-anchored pattern
Bash Scripting
Bash substitutions
Inside ${ ... } Action taken
name%pattern Remove (shortest)
rear-anchored pattern
name%%pattern Remove (longest)
rear-anchored pattern
name/pattern/string Replace first occurrence
name//pattern/string Replace all occurrences
Bash Scripting
Bash substitutions
hackman@terion:~$ a='123456'
hackman@terion:~$ echo ${a:3:5}
456
hackman@terion:~$ echo ${a:1:4}
2345
hackman@terion:~$ echo ${#a}
6
Bash Scripting
Bash substitutions (front)
hackman@terion:~$ a='grizzly.yuhu.biz'
hackman@terion:~$ echo ${a#*.}
yuhu.biz
hackman@terion:~$ echo ${a##*.}
biz
Bash Scripting
Bash substitutions (rear)
hackman@terion:~$ a='grizzly.yuhu.biz'
hackman@terion:~$ echo ${a%.*}
grizzly.yuhu
hackman@terion:~$ echo ${a%%.*}
grizzly
Bash Scripting
Bash substitutions (regexp)
hackman@terion:~$ a='pate.pate.patence.txt'
hackman@terion:~$ echo ${a/pate/kate}
kate.pate.patence.txt
hackman@terion:~$ echo ${a//pate/kate}
kate.kate.katence.txt
Bash Scripting
Bash arrays
#!/bin/bash #!/bin/bash
a=(x y z) a=(x y z)
echo ${a[0]} echo ${#a[*]}
echo ${a[1]} # ./array
echo ${a[2]} 3
# ./array
x
y
z
Bash Scripting
Parameter expansion
$ function am() { for i in "$*"; do echo ”$i”; done }
$ am jo ji ko
“jo ji ko”
$ function am() { for i in "$@"; do echo ”$i”; done }
$ am jo ji ko
“jo”
“ji”
“ko”
Bash Scripting
Bash arrays
#!/bin/bash #!/bin/bash
a=(x y z) a=(x y z)
for i in “${a[*]}”; do for i in “${a[@]}”; do
# ./array # ./array
x y z x
y
z
Bash Scripting
Bash special variables
$0 - the name of the script or shell
$# - number of parameters/arguments
$! - PID of the last executed background command
$? - exit status of the last executed command
$* - expands to a single quoted word
$@ - expands to separate words
$- - current bash flags/options
IFS - internal field separator
Bash Scripting
Bash arrays
hackman@gamelon:~$ ip a l eth0|grep 'inet '
inet 10.2.0.3/24 brd 10.2.0.255 scope global eth0
hackman@gamelon:~$ ip=($(ip a l eth0|grep 'inet '))
hackman@gamelon:~$ echo ${ip[0]}
inet
hackman@gamelon:~$ echo ${ip[1]}
10.2.0.3/24
Bash Scripting
Command execution
ip=( $( ip a l eth0|grep 'inet ' ) )
vs.
ip=( ` ip a l eth0|grep 'inet ' ` )
Bash Scripting
? ? ? ? ? ?
? ? ? ?
? ? ? ? ?
? ? ? Въпроси ? ?
?
? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
Мариян Маринов(HackMan) mm@yuhu.biz

Weitere ähnliche Inhalte

Was ist angesagt?

Unix Shell Scripting Basics
Unix Shell Scripting BasicsUnix Shell Scripting Basics
Unix Shell Scripting Basics
Sudharsan S
 

Was ist angesagt? (20)

Troubleshooting Puppet
Troubleshooting PuppetTroubleshooting Puppet
Troubleshooting Puppet
 
Coming Out Of Your Shell - A Comparison of *Nix Shells
Coming Out Of Your Shell - A Comparison of *Nix ShellsComing Out Of Your Shell - A Comparison of *Nix Shells
Coming Out Of Your Shell - A Comparison of *Nix Shells
 
Unix 1st sem lab programs a - VTU Karnataka
Unix 1st sem lab programs a - VTU KarnatakaUnix 1st sem lab programs a - VTU Karnataka
Unix 1st sem lab programs a - VTU Karnataka
 
Bash production guide
Bash production guideBash production guide
Bash production guide
 
Introduction to ansible
Introduction to ansibleIntroduction to ansible
Introduction to ansible
 
The Unbearable Lightness: Extending the Bash shell
The Unbearable Lightness: Extending the Bash shellThe Unbearable Lightness: Extending the Bash shell
The Unbearable Lightness: Extending the Bash shell
 
Paver For PyWorks 2008
Paver For PyWorks 2008Paver For PyWorks 2008
Paver For PyWorks 2008
 
Unix lab manual
Unix lab manualUnix lab manual
Unix lab manual
 
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
 
Perl 5.10
Perl 5.10Perl 5.10
Perl 5.10
 
Groovy on the Shell
Groovy on the ShellGroovy on the Shell
Groovy on the Shell
 
Unix Shell Scripting Basics
Unix Shell Scripting BasicsUnix Shell Scripting Basics
Unix Shell Scripting Basics
 
Ch3(working with file)
Ch3(working with file)Ch3(working with file)
Ch3(working with file)
 
Asynchronous PHP and Real-time Messaging
Asynchronous PHP and Real-time MessagingAsynchronous PHP and Real-time Messaging
Asynchronous PHP and Real-time Messaging
 
Perl 6 by example
Perl 6 by examplePerl 6 by example
Perl 6 by example
 
Txjs
TxjsTxjs
Txjs
 
Rustでパケットと戯れる
Rustでパケットと戯れるRustでパケットと戯れる
Rustでパケットと戯れる
 
Scala and big data in ICM. Scoobie, Scalding, Spark, Stratosphere. Scalar 2014
Scala and big data in ICM. Scoobie, Scalding, Spark, Stratosphere. Scalar 2014Scala and big data in ICM. Scoobie, Scalding, Spark, Stratosphere. Scalar 2014
Scala and big data in ICM. Scoobie, Scalding, Spark, Stratosphere. Scalar 2014
 
Introduction to Guzzle
Introduction to GuzzleIntroduction to Guzzle
Introduction to Guzzle
 
Introduction to shell scripting
Introduction to shell scriptingIntroduction to shell scripting
Introduction to shell scripting
 

Andere mochten auch

Andere mochten auch (19)

Bash Scripting
Bash ScriptingBash Scripting
Bash Scripting
 
Javascript Memory leaks and Performance & Angular
Javascript Memory leaks and Performance & AngularJavascript Memory leaks and Performance & Angular
Javascript Memory leaks and Performance & Angular
 
Java9 moduulit jigsaw
Java9 moduulit jigsawJava9 moduulit jigsaw
Java9 moduulit jigsaw
 
AngularJS - Overcoming performance issues. Limits.
AngularJS - Overcoming performance issues. Limits.AngularJS - Overcoming performance issues. Limits.
AngularJS - Overcoming performance issues. Limits.
 
JDK 9: Big Changes To Make Java Smaller
JDK 9: Big Changes To Make Java SmallerJDK 9: Big Changes To Make Java Smaller
JDK 9: Big Changes To Make Java Smaller
 
Why zsh is Cooler than Your Shell
Why zsh is Cooler than Your ShellWhy zsh is Cooler than Your Shell
Why zsh is Cooler than Your Shell
 
shell script introduction
shell script introductionshell script introduction
shell script introduction
 
Symfony2 and AngularJS
Symfony2 and AngularJSSymfony2 and AngularJS
Symfony2 and AngularJS
 
자바9 특징 (Java9 Features)
자바9 특징 (Java9 Features)자바9 특징 (Java9 Features)
자바9 특징 (Java9 Features)
 
AngularJS performance & production tips
AngularJS performance & production tipsAngularJS performance & production tips
AngularJS performance & production tips
 
Java9 특징 훑어보기
Java9 특징 훑어보기Java9 특징 훑어보기
Java9 특징 훑어보기
 
Shell and tube heat exchanger design
Shell and tube heat exchanger designShell and tube heat exchanger design
Shell and tube heat exchanger design
 
Why Zsh is Cooler than Your Shell
Why Zsh is Cooler than Your ShellWhy Zsh is Cooler than Your Shell
Why Zsh is Cooler than Your Shell
 
JavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great MatchJavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great Match
 
Create responsive websites with Django, REST and AngularJS
Create responsive websites with Django, REST and AngularJSCreate responsive websites with Django, REST and AngularJS
Create responsive websites with Django, REST and AngularJS
 
55 New Features in JDK 9
55 New Features in JDK 955 New Features in JDK 9
55 New Features in JDK 9
 
Java
JavaJava
Java
 
Photoshop progress
Photoshop progressPhotoshop progress
Photoshop progress
 
Performance Management
Performance ManagementPerformance Management
Performance Management
 

Ähnlich wie Bash Scripting

Bash shell
Bash shellBash shell
Bash shell
xylas121
 
Unit 11 configuring the bash shell – shell script
Unit 11 configuring the bash shell – shell scriptUnit 11 configuring the bash shell – shell script
Unit 11 configuring the bash shell – shell script
root_fibo
 
COSCUP2012: How to write a bash script like the python?
COSCUP2012: How to write a bash script like the python?COSCUP2012: How to write a bash script like the python?
COSCUP2012: How to write a bash script like the python?
Lloyd Huang
 
Linux Shell Scripting
Linux Shell ScriptingLinux Shell Scripting
Linux Shell Scripting
Raghu nath
 
2-introduction_to_shell_scripting
2-introduction_to_shell_scripting2-introduction_to_shell_scripting
2-introduction_to_shell_scripting
erbipulkumar
 
Unix shell scripting basics
Unix shell scripting basicsUnix shell scripting basics
Unix shell scripting basics
Abhay Sapru
 
Unix Shell Scripting Basics
Unix Shell Scripting BasicsUnix Shell Scripting Basics
Unix Shell Scripting Basics
Dr.Ravi
 

Ähnlich wie Bash Scripting (20)

KT on Bash Script.pptx
KT on Bash Script.pptxKT on Bash Script.pptx
KT on Bash Script.pptx
 
BASH Variables Part 1: Basic Interpolation
BASH Variables Part 1: Basic InterpolationBASH Variables Part 1: Basic Interpolation
BASH Variables Part 1: Basic Interpolation
 
Unleash your inner console cowboy
Unleash your inner console cowboyUnleash your inner console cowboy
Unleash your inner console cowboy
 
Bash and regular expressions
Bash and regular expressionsBash and regular expressions
Bash and regular expressions
 
De 0 a 100 con Bash Shell Scripting y AWK
De 0 a 100 con Bash Shell Scripting y AWKDe 0 a 100 con Bash Shell Scripting y AWK
De 0 a 100 con Bash Shell Scripting y AWK
 
Bash shell
Bash shellBash shell
Bash shell
 
Module 03 Programming on Linux
Module 03 Programming on LinuxModule 03 Programming on Linux
Module 03 Programming on Linux
 
003 scripting
003 scripting003 scripting
003 scripting
 
Unit 11 configuring the bash shell – shell script
Unit 11 configuring the bash shell – shell scriptUnit 11 configuring the bash shell – shell script
Unit 11 configuring the bash shell – shell script
 
COSCUP2012: How to write a bash script like the python?
COSCUP2012: How to write a bash script like the python?COSCUP2012: How to write a bash script like the python?
COSCUP2012: How to write a bash script like the python?
 
03 tk2123 - pemrograman shell-2
03   tk2123 - pemrograman shell-203   tk2123 - pemrograman shell-2
03 tk2123 - pemrograman shell-2
 
Linux Shell Scripting
Linux Shell ScriptingLinux Shell Scripting
Linux Shell Scripting
 
2-introduction_to_shell_scripting
2-introduction_to_shell_scripting2-introduction_to_shell_scripting
2-introduction_to_shell_scripting
 
Bash is not a second zone citizen programming language
Bash is not a second zone citizen programming languageBash is not a second zone citizen programming language
Bash is not a second zone citizen programming language
 
First steps in C-Shell
First steps in C-ShellFirst steps in C-Shell
First steps in C-Shell
 
Raspberry pi Part 25
Raspberry pi Part 25Raspberry pi Part 25
Raspberry pi Part 25
 
390aLecture05_12sp.ppt
390aLecture05_12sp.ppt390aLecture05_12sp.ppt
390aLecture05_12sp.ppt
 
Unix shell scripting basics
Unix shell scripting basicsUnix shell scripting basics
Unix shell scripting basics
 
Unix Shell Scripting Basics
Unix Shell Scripting BasicsUnix Shell Scripting Basics
Unix Shell Scripting Basics
 
Bash Shell Scripting
Bash Shell ScriptingBash Shell Scripting
Bash Shell Scripting
 

Mehr von Marian Marinov

Mehr von Marian Marinov (20)

How to implement PassKeys in your application
How to implement PassKeys in your applicationHow to implement PassKeys in your application
How to implement PassKeys in your application
 
Dev.bg DevOps March 2024 Monitoring & Logging
Dev.bg DevOps March 2024 Monitoring & LoggingDev.bg DevOps March 2024 Monitoring & Logging
Dev.bg DevOps March 2024 Monitoring & Logging
 
Basic presentation of cryptography mechanisms
Basic presentation of cryptography mechanismsBasic presentation of cryptography mechanisms
Basic presentation of cryptography mechanisms
 
Microservices: Benefits, drawbacks and are they for me?
Microservices: Benefits, drawbacks and are they for me?Microservices: Benefits, drawbacks and are they for me?
Microservices: Benefits, drawbacks and are they for me?
 
Introduction and replication to DragonflyDB
Introduction and replication to DragonflyDBIntroduction and replication to DragonflyDB
Introduction and replication to DragonflyDB
 
Message Queuing - Gearman, Mosquitto, Kafka and RabbitMQ
Message Queuing - Gearman, Mosquitto, Kafka and RabbitMQMessage Queuing - Gearman, Mosquitto, Kafka and RabbitMQ
Message Queuing - Gearman, Mosquitto, Kafka and RabbitMQ
 
How to successfully migrate to DevOps .pdf
How to successfully migrate to DevOps .pdfHow to successfully migrate to DevOps .pdf
How to successfully migrate to DevOps .pdf
 
How to survive in the work from home era
How to survive in the work from home eraHow to survive in the work from home era
How to survive in the work from home era
 
Managing sysadmins
Managing sysadminsManaging sysadmins
Managing sysadmins
 
Improve your storage with bcachefs
Improve your storage with bcachefsImprove your storage with bcachefs
Improve your storage with bcachefs
 
Control your service resources with systemd
 Control your service resources with systemd  Control your service resources with systemd
Control your service resources with systemd
 
Comparison of-foss-distributed-storage
Comparison of-foss-distributed-storageComparison of-foss-distributed-storage
Comparison of-foss-distributed-storage
 
Защо и как да обогатяваме знанията си?
Защо и как да обогатяваме знанията си?Защо и как да обогатяваме знанията си?
Защо и как да обогатяваме знанията си?
 
Securing your MySQL server
Securing your MySQL serverSecuring your MySQL server
Securing your MySQL server
 
Sysadmin vs. dev ops
Sysadmin vs. dev opsSysadmin vs. dev ops
Sysadmin vs. dev ops
 
DoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKDoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDK
 
Challenges with high density networks
Challenges with high density networksChallenges with high density networks
Challenges with high density networks
 
SiteGround building automation
SiteGround building automationSiteGround building automation
SiteGround building automation
 
Preventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel trackingPreventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel tracking
 
Managing a lot of servers
Managing a lot of serversManaging a lot of servers
Managing a lot of servers
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Bash Scripting