2011-11-21 81 views

回答

2

這裏的工作bash的版本(而不是tcsh),給您的示例中的第一行:

#!/bin/bash 
mystring="0" 
if [ "$mystring" -eq "0" ]; then 
    echo "true" 
else 
    echo "wrong" 
fi 

注意,大部分的語法是對於bash略有不正確,即使邏輯看起來都正確。你還應該確定「mystring」是一個整數還是一個字符串類型 - 在這裏我假設你期望字符串,並相應地修改了這個例子。

+0

同意,混合使用bash和tcsh。 OP,你想要什麼?你的標題說tcsh。每個原始示例代碼的elseif(elif)的任何變體都需要測試,例如'elif [[-f $ {fileToProcess}]];那麼...' – shellter

1

如果您使用的是tcsh,那麼您的if語法是錯誤的。如下使用

if ("$mystring" == "0") then 
commands 
else 
commands 
endif 

即使更改此設置後,您可能會遇到問題。它可以通過來解決,其源代碼是,而不是在shell中輸入它的名字。即,

$source script.sh 
instead of 
$script.sh 
相關問題