Skip to main content
added 54 characters in body
Source Link
meuh
  • 54.7k
  • 2
  • 70
  • 138

See the specification. It is complicated. You must quote arguments that have reserved characters (a long list) but only with double-quotes. So your command is effectively currently passing 'cd as the 2nd argument to bash;. Also && is not inside double-quotes, and so it generates an error.

I don't use gnome so cannot test this, but the spec says you must escape characters "`\$ inside the string, and(and you must escape % by %% if you don't want to use a field code as you do), so you could try something like

bash -xc "cd \"\\$(dirname %%k%k)\" && bash ./patch.sh && bash -c \"read -n1\""

The spec could do with a few concrete non-trivial examples.

See the specification. It is complicated. You must quote arguments that have reserved characters (a long list) but only with double-quotes. So your command is effectively currently passing 'cd as the 2nd argument to bash; && is not inside double-quotes, and so it generates an error.

I don't use gnome so cannot test this, but the spec says you must escape characters "`\$ inside the string, and you must escape % by %%, so you could try something like

bash -xc "cd \"\\$(dirname %%k)\" && bash ./patch.sh && bash -c \"read -n1\""

The spec could do with a few concrete non-trivial examples.

See the specification. It is complicated. You must quote arguments that have reserved characters (a long list) but only with double-quotes. So your command is effectively currently passing 'cd as the 2nd argument to bash. Also && is not inside double-quotes, and so it generates an error.

I don't use gnome so cannot test this, but the spec says you must escape characters "`\$ inside the string, (and you must escape % by %% if you don't want to use a field code as you do), so you could try something like

bash -xc "cd \"\\$(dirname %k)\" && bash ./patch.sh && bash -c \"read -n1\""

The spec could do with a few concrete non-trivial examples.

Source Link
meuh
  • 54.7k
  • 2
  • 70
  • 138

See the specification. It is complicated. You must quote arguments that have reserved characters (a long list) but only with double-quotes. So your command is effectively currently passing 'cd as the 2nd argument to bash; && is not inside double-quotes, and so it generates an error.

I don't use gnome so cannot test this, but the spec says you must escape characters "`\$ inside the string, and you must escape % by %%, so you could try something like

bash -xc "cd \"\\$(dirname %%k)\" && bash ./patch.sh && bash -c \"read -n1\""

The spec could do with a few concrete non-trivial examples.