Class Kernel::KernelSystemCall
A system command executed via the Kernel.system
method.
Kernel.system
accepts three argument forms:
- A single string. If it contains no shell meta characters, keywords or
builtins, it is executed directly in a subprocess.
Otherwise, it is executed in a subshell.
system("cat foo.txt | tail")
- A command and one or more arguments.
The command is executed in a subprocess.
system("cat", "foo.txt")
- An array containing the command name and argv[0], followed by zero or more arguments.
The command is executed in a subprocess.
system(["cat", "cat"], "foo.txt")
In addition, Kernel.system
accepts an optional environment hash as the
first argument and an optional options hash as the last argument.
We don’t yet distinguish between these arguments and the command arguments.
system({"FOO" => "BAR"}, "cat foo.txt | tail", {unsetenv_others: true})
Ruby documentation: https://docs.ruby-lang.org/en/3.0.0/Kernel.html#method-i-system
Import path
import codeql.ruby.frameworks.core.Kernel
Direct supertypes
Predicates
getAnArgument | Gets an argument to this execution that specifies the command or an argument to it. |
isShellInterpreted | Holds if a shell interprets |
Inherited predicates
asCallable | Gets the callable corresponding to this block, lambda expression, or call to | from Node |
asExpr | Gets the expression corresponding to this node, if any. | from Node |
asParameter | Gets the parameter corresponding to this node, if any. | from Node |
backtrack | Starts backtracking from this node using API graphs. | from Node |
getALocalSource | Gets a local source node from which data may flow to this node in zero or more local data-flow steps. | from Node |
getAPredecessor | Gets a data flow node from which data may flow to this node in one local step. | from Node |
getASuccessor | Gets a data flow node to which data may flow from this node in one local step. | from Node |
getConstantValue | Gets the constant value of this expression, if any. | from Node |
getEnclosingMethod | Gets the enclosing method, if any. | from Node |
getLocation | Gets the location of this node. | from Node |
hasLocationInfo | Holds if this element is at the specified location. The location spans column | from Node |
toString | Gets a textual representation of this node. | from Node |