2016-04-22 3 views
0

Я новичок в Баш .. Вот мой код Баш скрипт, который будет принимать имя файла в качестве аргумента командной строки кодекс файла привет является: -Bash скрипт не принимает FileName в качестве аргумента командной строки

#!/bin/bash  
if ["$1"!= "abcd.txt"]; then 
    echo Good 
else 
    echo Not Good 
fi 

когда я бегу

$hello abcd.txt 

это показывает

/usr/bin/hello: line 2: [abcd.txt: command not found 
Not Good 

Где proble м? Пожалуйста, помогите мне как можно скорее. Спасибо заранее.

ответ

4

["$1"!= "abcd.txt"] не является синтаксически правильным.

Вам нужно пробелы после [ до ] и перед !=:

[ "$1" != "abcd.txt" ] 
+1

Чтобы выяснить, почему это необходимо, вы должны знать, что '[' это команда, и нуждается в ']' быть последним аргументом, в то время как каждая другая часть должна быть его собственным аргументом. Однако в наши дни '' 'по большей части встроен. – andlrc

Смежные вопросы