Привет там,
Это довольно сложно мне объяснить мою проблему, поскольку я affraid я не используете правильный лексики. Поэтому я хотел бы описать ситуацию. Я написал скрипт, который имеет один аргумент. Она работает так:
Код:
~$ cat /usr/local/bin/squote
echo "$@" | sed 's/'\''/'\''\\'\'\''/g; s/.*/'\''&'\''/g'
~$ squote It\'s great
'It'\''s great'
Что мне нужно делать, если я хочу, чтобы мой скрипт для работы в следующей ситуации?
Код:
~$ echo It\'s great | squote
''
~$ cat file | squote
''
~$ squote < file
''
Спасибо заранее
Сантьяго
Последнее обновление:
Теперь я обнаружил, что я могу читать с / Dev / STDIN. Я написал следующий сценарий:
Код:
~$ cat /usr/local/bin/squote
cat /dev/stdin | sed 's/'\''/'\''\\'\'\''/g; s/.*/'\''&'\''/g'
echo "$@" | sed 's/'\''/'\''\\'\'\''/g; s/.*/'\''&'\''/g'
~$ echo It\'s great | squote
'It'\''s great'
''
~$ squote It\'s great
# I need to press Ctrl+D
'It'\''s great'
Как я могу узнать, из которых входной аргумент подходит?