0
參照以下的Unix外殼腳本,當我在正確的命令鍵入運行<(2 ./TCPHost.out $),我收到以下錯誤:的Unix外殼腳本版本
open[1905:26153] Metadata.framework [Error]: void _MDItemMarkAsUsedForPath(CFStringRef): was called with a NULL path
這是我收到這個錯誤的唯一一個。有人能向我解釋爲什麼會發生這種情況嗎?奇怪的是,它在技術上是可行的,但它並不像其他人那樣打開另一個shell。
#!/bin/bash
if [ "$1" = "Server" ]
then
echo *********** SERVER IS RUNNING ***********
open -a Terminal ./TCPServer.out
fi
if [ "$1" = "Host" ]
then
echo HOST IS RUNNING
open -a Terminal <(./TCPHost.out $2)
fi
if [ "$1" = "Client" ]
then
open -a Terminal ./TCPClient.out
fi
的bash腳本必須有至少2個參數來調用。只有第二個以「$ 2」形式傳遞。否則,這可能導致錯誤。 「TCPHost.out」不是一個標準的unix命令,所以Stackoverflow上的人不知道它可能會如何表現 - 而這本質上是你的問題 – Vorsprung
你如何執行腳本?你傳遞給它什麼參數? – vmachan
@vmachan .out文件是我C代碼的編譯版本。當我運行服務器和客戶端,但不是主機時,它工作得很好。我的參數是例如./Launch.sh服務器 –