我想用osx open命令打開一個文件,但是我擁有的是一個包含文件名(和路徑)而不是文件名本身的變量。 我想:bash osx通過變量或管道打開文件
thisfile=./filename.extension
open $thisfile
和
thisfile=./filename.extension
printf $thisfile | open
和
printf ./filename.extension | open
但在所有這些嘗試的我只是得到
Usage: open [-e] [-t] [-f] [-W] [-R] [-n] [-g] [-h] [-b <bundle identifier>] [-a <application>] [filenames] [--args arguments]
Help: Open opens files from a shell.
...(全文: http://pastie.org/10074666)
我在做什麼錯?如何通過管道和變量打開文件?
EDIT /溶液:
我確實有空間(和括號),我在變量存儲之前\
逃脫。事實證明,我不應該這樣做,我應該通過變量使用open "${thisfile}"
不open $thisfile
所以對於文件
./foo - moo/zoo - boo (100)/poo (too).jpg
與開開這樣
thisfile='./foo - moo/zoo - boo (100)/poo (too).jpg'
open "${thisfile}"
你的文件名是否有空格?你是否得到'無效選項:xxx'? – zmo 2015-04-05 09:12:05
您的第一個命令適用於OSX Yosemite。我不認爲其他2將工作,因爲'open'不讀取它的'stdin',而是使用一個參數。 – 2015-04-05 09:17:05
如果你的文件名中有空格,使用'thisfile =「名稱加空格」',並打開$ thisfile「' – 2015-04-05 09:39:52