Tcsh

TCSH 按位 |操作員

  • June 27, 2017

如何在 tcsh 中使用按位邏輯或運算符 |?

我進入

@ y = 1001; @ z = 0110;
@ x = $y|$z
110: Command not found.

您真的只想在 tcsh 中執行此操作嗎?Csh 及其衍生品 tcsh 有許多這樣的怪癖。你最好使用另一個 shell,比如 bash 等。

在這種特殊情況下,似乎放入一對括號讓 tcsh 高興。這也記錄在 tcsh 手冊中:

expr 可以包含運算符*,+等,如在 C 中。如果 expr 包含 <, >&或者|至少 expr 的那部分必須放在 中()

mint13:~> echo $version
tcsh 6.17.06 (Astron) 2011-04-15 (x86_64-unknown-linux) options wide,nls,dl,al,kan,rh,nd,color,filec
mint13:~> @ y = 1001; @ z = 0110;
mint13:~> @ x = $y|$z
110: Command not found.
mint13:~> @ x = ($y|$z)
mint13:~> echo $x
1007

您可能已經意識到這一點——tcsh 將 1001 和 0110 讀取為十進制數。我不知道如何讓它理解二進制數。

引用自:https://unix.stackexchange.com/questions/106631