samer@44: % bash_esc - Convert string into escaped version for use in command lines samer@44: % bash_esc :: string -> string samer@44: function out=bash_esc(in,method) samer@44: import java.io.*; samer@44: if nargin<2, method=1; end samer@44: samer@44: cs=feature('DefaultCharacterSet'); samer@44: runtime=java.lang.Runtime.getRuntime(); samer@44: samer@44: switch method samer@44: case 1 % ALternative 1 samer@44: process=runtime.exec({'bash', '-c', 'printf "%q" "$(cat)"'}); samer@44: writer=OutputStreamWriter(process.getOutputStream(),cs); samer@44: writer.write(in); writer.close(); samer@44: samer@44: case 2 % ALternative 2 samer@44: process=runtime.exec('bash'); samer@44: writer=BufferedWriter(OutputStreamWriter(process.getOutputStream(),cs)); samer@44: writer.write('printf "%q" "$(cat)"'), writer.newLine(); samer@44: writer.write(in); writer.close(); samer@44: end samer@44: samer@44: rdr=BufferedReader(InputStreamReader(process.getInputStream(),cs)); samer@44: out=char(rdr.readLine()); samer@44: process.destroy(); samer@44: end