Wednesday, January 5, 2022

[SOLVED] Cannot assign variable in for-loop in shell script

Issue

I tried to assign variable a in for-loop:

#!/bin/bash

for file in `ls`
do
  a = $file
done

But when I run, it gave error:

line 5: a: command not found

Why did it give error? How to assign variable a?


Solution

There can be no spaces on both sides of the equal sign when defining variables in the Shell.

It should be:

a=$file


Answered By - 过过招