[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Lisp programs sometimes need to run a shell and give it a command that
contains file names that were specified by the user. These programs ought
to be able to support any valid file name. But the shell gives special
treatment to certain characters, and if these characters occur in the file
name, they will confuse the shell. To handle these characters, use the
function shell-quote-argument
:
This function returns a string which represents, in shell syntax, an argument whose actual contents are argument. It should work reliably to concatenate the return value into a shell command and then pass it to a shell for execution.
Precisely what this function does depends on your operating system. The function is designed to work with the syntax of your system's standard shell; if you use an unusual shell, you will need to redefine this function.
;; This example shows the behavior on GNU and Unix systems. (shell-quote-argument "foo > bar") ⇒ "foo\\ \\>\\ bar" ;; This example shows the behavior on MS-DOS and MS-Windows. (shell-quote-argument "foo > bar") ⇒ "\"foo > bar\"" |
Here's an example of using shell-quote-argument
to construct a shell
command:
(concat "diff -c " (shell-quote-argument oldfile) " " (shell-quote-argument newfile)) |
Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.