NAME¶
send -
在一個不同的應用的執行一個命令
總覽 SYNOPSIS¶
send ?options?
app cmd ?
arg arg ...?
描述 DESCRIPTION¶
這個命令安排在叫做
app
的應用中執行
cmd (和
args)。它返回這個命令執行的結果或錯誤。
App
可以是其主視窗在容納發送者的主視窗的顯示器上的任何應用的名字;不需要在同一個進程中。如果不存在
arg
參數,則要執行的這個命令完全的包含在
cmd
參數內。如果存在一個或多個
args,則把它們串聯起來形成要執行的命令,就像
eval 命令那樣。
如果這個命令的最初的參數開始於「-」,則把它們作為選項對待。當前定義了下列選項:
- -async
- 要求異步調用。在這種情況下
send
命令將立即完成而不等待
cmd
在目標應用中完成;不能獲得任何結果並且忽略在發送命令中的錯誤。如果目標應用與發送的應用在同一個進程中則忽略
-async 選項。
- -displayof pathName
- 指定目標應用的主視窗是在用
pathName
給出的視窗的顯示器上,而不是包含應用的主視窗的顯示器。
- --
- 除了終止選項的列表沒有其他用途。這個選擇只在
app
包含一個前導的「-」字符時需要。
應用的名字 APPLICATION NAMES¶
用程式或建立這個應用的稿本的名字來初始設置應用的名字。你可以用
tk appname
命令查詢和變更一個應用的名字
停用發送 DISABLING SENDS¶
如果從應用中刪除了
send
命令(比如,使用了命令
rename send
{}),則這個應用不對到來的發送請求做任何響應,也不能發起外出的請求。可以通過調用
tk appname
命令重新啟用通信。
安全 SECURITY¶
send
命令是一個潛在的嚴重的安全漏洞。在
Unix 上,可以連接到你的
X
伺服器的任何應用都可以向你的應用發送稿本。這些到來的稿本可以使用
Tcl
來讀寫你的檔案和用你的名字調用子進程。
基於主機的訪問控制比如
xhost
特別不安全,因為它允許在特定主機上有一個帳戶的任何人連接到你的伺服器上,並且如果停用了它則允許任何人從任何地方連接到你的伺服器。為了提供少量的安全性,Tk
檢查伺服器使用的訪問控制,並且除非是
(a)啟用了
xhost式樣的訪問控制(就是說只有特定主機可以建立連接),和
(b)允許的主機的列表是空的,否則丟棄到來的發送。這意味著除非應用使用了其他形式的授權(authorization)比如
xauth,否則不能連接到伺服器上。
在 Windows 上,目前禁用
send。它的多數功能由
dde 命令提供。
關鍵字 KEYWORDS¶
application, dde, name, remote execution, security, send
[中文版維護人]¶
寒蟬退士
[中文版最新更新]¶
2002/05/28
《中國 Linux 論壇 man 手冊頁翻譯計劃》:¶
http://cmpp.linuxforum.net