isCat() [[ $word = "cat" ]]
isDog() [[ $word = "dog" ]]
isFish() [[ $word = "fish" ]]
isAny() { if isCat || isDog || isFish; then return 0; else return 1; fi }
我想簡化「isAny」功能類似:簡化慶典with語句或運營商
isAny() [[ isCat || isDog || isFish ]]
,但我沒有找到如何。上述嘗試不正確,因爲當所有其他函數評估爲false時,「isAny」爲真。我以這種方式使用這些函數:
if isCat; then
echo "cat"
fi
if isAny; then
echo "any"
fi
從文體的角度來看,大寫功能名稱是非常不尋常的。函數定義了命令,並且命令在UNIX上通常不是全部大寫的。 –
'[[IS_CAT || IS_DOG || IS_FISH]]',順便說一句,完全等同於[[-n IS_CAT ||] -n IS_DOG || -n IS_FISH]]'或'[-n「IS_CAT」] || [-n「IS_DOG」] || [-n「IS_FISH」]:它檢查字符串「IS_CAT」是否非空(或字符串「IS_DOG」非空,或字符串「IS_FISH」非空) - 始終爲真(自'IS_CAT'是一個由6個字符組成的字符串,因此*從不*爲零字符/空字符串),與運行名爲'IS_CAT'的函數完全不同。 –
我使用全部大寫字母,因爲它使得它更容易查看,因此可以在我的腳本中讀取。我應該用這個命名約定來解決這個問題...... – Alan