Pre-install

Set-up Script

#!/bin/bash
current_dir=$(pwd)
 
# ns3 version 3.37
ns3_ver="3.37"
ns3_folder="ns-allinone-${ns3_ver}"
ns3_scratch="${current_dir}/${ns3_folder}/ns-${ns3_ver}/scratch"
 
# download ns3 to current dir
if [ ! -d "${current_dir}"/${ns3_folder} ]; then
    ns3_file_name="ns-allinone-${ns3_ver}.tar.bz2"
    url="https://www.nsnam.org/releases/${ns3_file_name}"
    if [ ! -f "${current_dir}/${ns3_file_name}" ]; then
        echo "Downloading NS3-${ns3_ver}..."
        wget --show-progress --quiet $url
    fi
    # unzip
    echo "Unzipping ${ns3_file_name}..."
    tar xjf ${ns3_file_name}
    # Delete tar file
    echo "Deleteing TAR file"
    rm ${ns3_file_name}
 
fi
 
# compile (opitonal)
echo "Compiling ns3..."
cd "${current_dir}"/${ns3_folder} || return
./build.py
 
# link scratch in assets
echo "Copying scratch to ns3..."
ln -s -v "${current_dir}"/scratch/*.cc "${ns3_scratch}"/
 

Project Example

https://github.com/yanboyang713/ns3-learning.git