Убедитесь, что $1
- это не пустая строка. Если $1
пустая строка, то если условие:
( A == A )
оценивается как истинное. Это обходной путь, чтобы убедиться, что у вас нет синтаксической ошибки. Если просто сделать:
if ( $1 == "" )
Когда $1
пустая строка, то это выражение становится ( == "" )
и приводит к синтаксической ошибке.
Как минимум в bsd-csh
, tcsh
, ( $1 == "" )
работает. С оригинальным csh
следует использовать:
if ( "A$1" == "A" )
Заметку о том, что Вы всегда должны заключать в кавычки двойную переменную, см. объяснение здесь. В csh
, если переменная $a
содержит newline, то "$a"
не сработает, Вам нужно $a:q
.
Поверьте, что вам необходимо выполнить операцию fsck. Вы можете попробовать запустить fsck
следующим образом:
$ sudo fsck /dev/sdb2
-121--55208- предположим, что у вас есть одна переменная $ url
short=$(echo $url | sed -e s,%2F,/,g -e s,^index[^=]*=,, -e s,.file=,,)
mkdir -p $(dirname $short)
mv $url $short
mkdir -p
создаст каталог вместе со всеми путями. $ (dirname $ short)
даст вам часть dirname $ short (например, IOP/FOO/BAR
) Нет, обновление отключенной службы с помощью yum
не должно повторно включать ее.
Однако я подозреваю, что вы никогда не останавливали службу - systemctl disable
просто останавливает ее автоматически при следующей загрузке. Если служба уже запущена, то она не остановится - для этого необходимо выполнить systemctl stop
.
Так что если вы только что отключили его, и вы не перезагрузились с тех пор, то он все равно будет работать.