Это помогает:
for f1 in *; do echo -n "$f1"" "\"; cat "$f1"; echo "\""; done
Он перебирает все файлы в каталоге, затем для каждого файла показывает его имя, за которым следует его содержимое в кавычках.
[
, (
и SPC являются специальными символами в синтаксисе оболочки bash
. Посмотрите, как SPC между python
и train.py
, например, использовался для разграничения двух аргументов для перехода к /path/to/python
. [
/ ]
являются специальными операторами глобуса, (
, )
являются частью многих конструкций, таких как func ()...
, <(...)
, (subshell)
, ((arith))
и т. д.
Чтобы удалить их особое значение, вы используете кавычки/экранирование. Операторы кавычек различаются между оболочками. См. Как использовать специальный символ как обычный? для получения подробной информации.
В оболочке bash
вы можете использовать '...'
, "..."
, $'...'
и обратную косую черту. Здесь лучше всего с:
python train.py --conv-layers '[(512, 10, 5), (512, 8, 4)]'
Если вы хотите, чтобы [(512, 10, 5), (512, 8, 4)]
передавалось как один аргумент в/path/to/python
(помимо python
, train.py
и--conv-layers
).