Hei,
Det er ganske vanskelig for meg å forklare problemet mitt fordi jeg affraid jeg ikke bruker riktig ordforråd. Så la meg beskrive situasjonen. Jeg skrev et skript som har ett argument. Det fungerer slik:
Code:
~$ cat /usr/local/bin/squote
echo "$@" | sed 's/'\''/'\''\\'\'\''/g; s/.*/'\''&'\''/g'
~$ squote It\'s great
'It'\''s great'
Hva må jeg gjøre hvis jeg vil ha mine script til å fungere i følgende situasjon?
Code:
~$ echo It\'s great | squote
''
~$ cat file | squote
''
~$ squote < file
''
Takk på forhånd
Santiago
Oppdatering:
Nå fant jeg ut at jeg kan lese fra / dev / stdin. Jeg skrev følgende skript:
Code:
~$ 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'
Hvordan kan jeg vite hvor skriving argumentet kommer?