myscript

#!/bin/bash
# Print test of arguments

echo number of args: $#
echo name of script: $0
echo all args: "$@"
echo last exit: $?

var1=3
var2=7

var3=$var1+$var2
echo $var3

var3=$(( $var1+$var2 ))
echo $var3

let var3="$var1+$var2"
echo $var3

exit 0

directory_check

#!/bin/bash
# List contents of a subdirectory

# check for the correct number of arguments
if [ $# -ne 2 ]; then
  echo "$0: requires 2 arguments: directory subdirectory" 1>&2
  exit 1
fi

if [ ! -d "$1" ]; then
  echo "$0: $1 is not a directory" 1>&2
  exit 1
fi

if [ ! -d "$1/$2" ]; then
  echo "$0: $2 is not a subdirectory of $1" 1>&2
  exit 1
fi

ls -l "$1/$2"
exit 0

counter

#!/bin/bash
# Loop to print numbers from 1 to 10

# while loop
counter=1
while [ $counter -le 10 ]; do
   echo $counter
   ((counter++))
done

# for loop
for counter in {1..10}; do
  echo $counter
done

# implicit exit 0
#!/bin/bash
# Loop to process command-line arguments

# for loop
for arg in "$@"; do
  echo "$arg"
done

# while loop
while [ $# -gt 0 ]; do
   echo "$1"
   shift
done

# implicit exit 0

file_iter

#!/bin/bash
# Iterate over files
for file in $(ls); do
  if [ -f "$file" ]; then
    echo "$(wc -c < "$file") bytes in $file"
  fi
done

fibonacci

#!/bin/bash
# This script generates the Fibonacci sequence up to a given number

# Check if an argument is provided, otherwise use default limit
if [ $# -lt 1 ]; then
  limit=100
else
  limit=$1
fi

# Seed the sequence
first=0
second=1

echo "Fibonacci sequence up to $limit:"
echo $first
echo $second

# Generate the Fibonacci sequence
while [ $(( first + second )) -le $limit ]; do
  sum=$(( first + second ))
  echo $sum
  first=$second
  second=$sum
done

hello_world

#!/bin/bash
# A basic hello world program

hello_world () {
   echo "hello, world!"
}
hello_world

function_params

#!/bin/bash
# Function to process input parameters

my_function() {
  echo "Function Parameter 1: $1"
  echo "Function Parameter 2: $2"
}

# Check the number of command-line arguments
if [ $# -ne 2 ]; then
  echo "Usage: $0 <arg1> <arg2>"
  echo "Two arguments are required."
  exit 1
fi

# Call the function with the provided arguments
my_function "function_arg1" "function_arg2"

echo "Script Argument 1: $1"
echo "Script Argument 2: $2"

variables

#!/bin/bash

var1="A"
var2="B"

my_function () {
  local var1="C"
  var2="D"
  echo "Inside function: var1: $var1, var2: $var2"
}

echo "Before executing function: var1: $var1, var2: $var2"
my_function
echo "After executing function: var1: $var1, var2: $var2"