Я хочу просмотреть или прочитать содержимое файла с указанием абсолютного пути, который содержит переменную, но она не работает ..
Ни одна из приведенных ниже команд не работает.
($line
здесь имя файла)
content=`(cat /tmp/cygwin/cygwin/home/67642360/1.0.94/db/src/sql/oracle/updates/${line})`
cat '/tmp/cygwin/cygwin/home/67642360/1.0.94/db/src/sql/oracle/updates/'${line}
Переменное присваивание от кошки:
content=$(cat /tmp/cygwin/cygwin/home/67642360/1.0.94/db/src/sql/oracle/updates/${line})
# Or
content=`cat /tmp/cygwin/cygwin/home/67642360/1.0.94/db/src/sql/oracle/updates/${line}`
кошка файл от переменной:
cat /tmp/cygwin/cygwin/home/67642360/1.0.94/db/src/sql/oracle/updates/${line}
# OR
cat "/tmp/cygwin/cygwin/home/67642360/1.0.94/db/src/sql/oracle/updates/${line}"
Что ${line}
?
Можно ли попробовать echo ${line}
?
Какую оболочку Вы используете? Можно установить line
быть именем правильного файла. Я использую, избивают этот пример.
foo$ echo ${line}
foo$ echo "Hello World" > /tmp/foo.txt
foo$ export line=foo.txt
foo$ echo ${line}
foo.txt
foo$ cat /tmp/${line}
Hello World
foo$
Если, поскольку Вы говорите, что $line содержит название файла, который Вы хотите произвести, Вы можете просто cat
(или more
или less
) переменная. как в cat $line
Более безопасный метод, который работал бы, даже если бы имя файла включает пробелы, был бы cat "$line"
Необходимо обеспечить, чтобы Вы знали различие между полными и относительными путями, поскольку Вы, вероятно, не получите результаты, которые Вы хотите, если Вы путаете два.