input: Write a function to create a Bash script that can install a given software, based on the supplied information. The function should generate the script as specified in the instruction and include the necessary steps to download, extract, configure, compile, and install the software. The input to the function will be the software name and version. The function should return the generated Bash script as a string.
  
  assert bash_installer("Python 3.8.5")=='#!/bin/bash\n\n# Download latest version of Python\ncurl -O https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz\n\n# Extract the tgz file\ntar -xzf Python-3.8.5.tgz\n\n# Move into the Python directory\ncd Python-3.8.5\n\n# Run the configure script\n./configure\n\n# Compile and install\nmake\nmake install'
  assert bash_installer("GCC 10.2.1")=='#!/bin/bash\n\n# Download latest version of GCC\ncurl -O https://ftp.gnu.org/gnu/gcc/gcc-10.2.1/gcc-10.2.1.tar.gz\n\n# Extract the tgz file\ntar -xzf gcc-10.2.1.tar.gz\n\n# Move into the GCC directory\ncd gcc-10.2.1\n\n# Run the configure script\n./configure\n\n# Compile and install\nmake\nmake install'
  assert bash_installer("OpenSSH 8.4p1")=='#!/bin/bash\n\n# Download latest version of OpenSSH\ncurl -O https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz\n\n# Extract the tgz file\ntar -xzf openssh-8.4p1.tar.gz\n\n# Move into the OpenSSH directory\ncd openssh-8.4p1\n\n# Run the configure script\n./configure\n\n# Compile and install\nmake\nmake install'
  assert bash_installer("")=='#!/bin/bash\n\n# No software specified for installation'
output: def bash_installer(software):
      if not software:
          return '#!/bin/bash\n\n# No software specified for installation'
      
      name, version = software.split()
      url = {
          'Python': f'https://www.python.org/ftp/python/{version}/Python-{version}.tgz',
          'GCC': f'https://ftp.gnu.org/gnu/gcc/gcc-{version}/gcc-{version}.tar.gz',
          'OpenSSH': f'https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-{version}.tar.gz'
      }.get(name, '')
      
      if not url:
          return '#!/bin/bash\n\n# No software specified for installation'
      
      return f'''#!/bin/bash
  
  # Download latest version of {name}
  curl -O {url}
  
  # Extract the tgz file
  tar -xzf {name.lower() if name == 'Python' else name.lower()}-{version}.tar.gz
  
  # Move into the {name} directory
  cd {name.lower() if name == 'Python' else name.lower()}-{version}
  
  # Run the configure script
  ./configure
  
  # Compile and install
  make
  make install'''