which
Show the full path of a shell command in ruby with which.
linux manual
Basic Usage
require 'kanrisuru'
host = Kanrisuru::Remote::Host.new(host: '127.0.1.1', username: 'ubuntu', keys: ['~/.ssh/id_rsa'])
result = host.which('cat', all: true)
result.success?
true
result.map(&:path)
['/usr/bin/cat', '/bin/cat']
Parameters
Field |
Type |
Description |
program_name |
string
|
Required name of program to get full path of |
all |
boolean
|
Gets all matching executables, not just the first |
Result
Returns an array of FilePath
structs.
FilePath Fields
Field |
Type |
Description |
path |
string
|
Symbolic or absolute file path |
Return Example
host.which('cat')[0]
#<Struct:Kanrisuru::Core::Path::FilePath:0x00000618
path = "/usr/bin/cat"
>
Exit Status
Code |
Description |
0 |
Success |
1 |
Failure |
Tested On
- Ubuntu, Debian, Centos, Fedora, Redhat, OpenSuse, SLES