Monday, August 21, 2017

linux - bash + run command in tcsh from bash



when I run from bash shell the command:




bash
for i in 1 2 3 ; do echo $i ; done
1
2
3


but when I switch to tcsh and want to run:




    tcsh
bash -c for i in 1 2 3 ; do echo $i ; done
i: -c: line 1: syntax error near unexpected token `newline'
i: -c: line 1: `for'
i: Undefined variable.


please advice why I get errors ( I run the for loop from bash -c its the same ?
and what I need to fix ?


Answer




You'll need to quote it:



bash -c 'for i in 1 2 3 ; do echo $i ; done'


In your example, the only command bash is running is "for" on its own.


No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...