10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Currently I am using this laborious command
lvdisplay | awk '/LV Path/ {p=$3} /LV Name/ {n=$3} /VG Name/ {v=$3} /Block device/ {d=$3; sub(".*:", "/dev/dm-", d); printf "%s\t%s\t%s\n", p, "/dev/mapper/"v"-"n, d}'
Would like to know if there is any shorter method to get this mapping of... (2 Replies)
Discussion started by: royalibrahim
2 Replies
2. Ubuntu
PATH is an environment variable.
When I open a terminal say terminal 1 and set some path in PATH variable it gets set which I can see using ech $PATH.
But when I open a new terminal say terminal 2 and fire echo $PATH why cannot I see the same output as seen in terminal terminal 1?
Why the path... (4 Replies)
Discussion started by: rupeshkp728
4 Replies
3. UNIX for Dummies Questions & Answers
Hello all, I have a Mac OS X (10.7), and I need to set environment variables and paths for some programs I will be running. I have followed instructions and searched the Web for where to do this, but I can't seem to find an answer. I have tried using the VIM editor to write them into my .login,... (2 Replies)
Discussion started by: Tyler_92
2 Replies
4. Shell Programming and Scripting
Hi
I need a script which will remove a path from PATH environment variable. For example
$echo PATH
/usr/local/bin:/usr/bin:test/rmve:/usr/games
$echo rmv
test/rmve
Here I need a shell script which will remove rmv path (test/rmve) from PATH... (9 Replies)
Discussion started by: madhu84
9 Replies
5. UNIX for Dummies Questions & Answers
Hello,
I am using Solaris 10.0 and defining PATH on command line by the following way:
#export PATH=/usr/sfw/bin....
...but after restart, Solaris forgets what I defined and I need to re-define the same PATH environment.
I want to to get defined my PATH environment during booting... (10 Replies)
Discussion started by: XNOR
10 Replies
6. Shell Programming and Scripting
hi all
i have joined new to the group.
i have set an variable in my bashrc file.
.bashrc
PROGHOME=/home/braf/braf/prog
export PROGHOME
but while using it in my shell script its path is not taken and i had to explicitly give the export command to set the path.
in my script... (8 Replies)
Discussion started by: krithika
8 Replies
7. Shell Programming and Scripting
whats the meaning of ::
colon in PATH environment?
/usr/local/bin:/usr/bin:/usr/local/gnu/bin::.:/usr/local/bin:/usr/bin:/usr/local/gnu/bin:/usr/local/bin
and whats the meaning of // in PATH ? (1 Reply)
Discussion started by: gfhgfnhhn
1 Replies
8. Shell Programming and Scripting
Hi.....
I'm kind of new to c programming in Unix...need help here.
Supposed to write a source code to support Path environment variable for my programming assignment for Spring semester.
but i'm kind of stuck. Could anyone out there assist me?
prompt> /bin/ls
My program could output... (3 Replies)
Discussion started by: tancy
3 Replies
9. UNIX for Advanced & Expert Users
Hi,
How does the PATH and MANPATH environment variable get set?
I want to add "/opt/SUNWspro/bin" to the search path for all the users. Where can I access this variable.
I know in my home directory, depend on which shell I use, there are files such as .profile and .cshrc which I can edit to... (3 Replies)
Discussion started by: vtran4270
3 Replies
10. UNIX for Dummies Questions & Answers
HI there people!!
I'm really new with this great OS. I just installed a RedHat Linux 7.1 on my unit. Got it to work on dual boot with my Windows 2000. And I have some problem... how do i change/modify the system environment path? Thanks... and sorry for the ignorance ;) (5 Replies)
Discussion started by: spine_me
5 Replies
SYSTEMD.ENVIRONMENT-GENERATOR(7) systemd.environment-generator SYSTEMD.ENVIRONMENT-GENERATOR(7)
NAME
systemd.environment-generator - systemd environment file generators
SYNOPSIS
/lib/systemd/system-environment-generators/some-generator
/usr/lib/systemd/user-environment-generators/some-generator
/run/systemd/system-environment-generators/*
/etc/systemd/system-environment-generators/*
/usr/local/lib/systemd/system-environment-generators/*
/lib/systemd/system-environment-generators/*
/run/systemd/user-environment-generators/*
/etc/systemd/user-environment-generators/*
/usr/local/lib/systemd/user-environment-generators/*
/usr/lib/systemd/user-environment-generators/*
DESCRIPTION
Generators are small executables that live in /lib/systemd/system-environment-generators/ and other directories listed above. systemd(1)
will execute those binaries very early at the startup of each manager and at configuration reload time, before running the generators
described in systemd.generator(7) and before starting any units. Environment generators can override the environment that the manager
exports to services and other processes.
Generators are loaded from a set of paths determined during compilation, as listed above. System and user environment generators are loaded
from directories with names ending in system-environment-generators/ and user-environment-generators/, respectively. Generators found in
directories listed earlier override the ones with the same name in directories lower in the list. A symlink to /dev/null or an empty file
can be used to mask a generator, thereby preventing it from running. Please note that the order of the two directories with the highest
priority is reversed with respect to the unit load path, and generators in /run overwrite those in /etc.
After installing new generators or updating the configuration, systemctl daemon-reload may be executed. This will re-run all generators,
updating environment configuration. It will be used for any services that are started subsequently.
Environment file generators are executed similarly to unit file generators described in systemd.generator(7), with the following
differences:
o Generators are executed sequentially in the alphanumerical order of the final component of their name. The output of each generator
output is immediately parsed and used to update the environment for generators that run after that. Thus, later generators can use
and/or modify the output of earlier generators.
o Generators are run by every manager instance, their output can be different for each user.
It is recommended to use numerical prefixes for generator names to simplify ordering.
EXAMPLES
Example 1. A simple generator that extends an environment variable if a directory exists in the file system
# 50-xdg-data-dirs.sh
#!/bin/bash
# set the default value
XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share/:/usr/share}"
# add a directory if it exists
if [[ -d /opt/foo/share ]]; then
XDG_DATA_DIRS=/opt/foo/share:${XDG_DATA_DIRS}
fi
# write our output
echo XDG_DATA_DIRS=$XDG_DATA_DIRS
Example 2. A more complicated generator which reads existing configuration and mutates one variable
# 90-rearrange-path.py
#!/usr/bin/env python3
"""
Proof-of-concept systemd environment generator that makes sure that bin dirs
are always after matching sbin dirs in the path.
(Changes /sbin:/bin:/foo/bar to /bin:/sbin:/foo/bar.)
This generator shows how to override the configuration possibly created by
earlier generators. It would be easier to write in bash, but let's have it
in Python just to prove that we can, and to serve as a template for more
interesting generators.
"""
import os
import pathlib
def rearrange_bin_sbin(path):
"""Make sure any pair of .../bin, .../sbin directories is in this order
>>> rearrange_bin_sbin('/bin:/sbin:/usr/sbin:/usr/bin')
'/bin:/sbin:/usr/bin:/usr/sbin'
"""
items = [pathlib.Path(p) for p in path.split(':')]
for i in range(len(items)):
if 'sbin' in items[i].parts:
ind = items[i].parts.index('sbin')
bin = pathlib.Path(*items[i].parts[:ind], 'bin', *items[i].parts[ind+1:])
if bin in items[i+1:]:
j = i + 1 + items[i+1:].index(bin)
items[i], items[j] = items[j], items[i]
return ':'.join(p.as_posix() for p in items)
if __name__ == '__main__':
path = os.environ['PATH'] # This should be always set.
# If it's not, we'll just crash, we is OK too.
new = rearrange_bin_sbin(path)
if new != path:
print('PATH={}'.format(new))
Example 3. Debugging a generator
SYSTEMD_LOG_LEVEL=debug VAR_A=something VAR_B="something else"
/lib/systemd/system-environment-generators/path-to-generator
SEE ALSO
systemd-environment-d-generator(8), systemd.generator(7), systemd(1), systemctl(1)
systemd 237 SYSTEMD.ENVIRONMENT-GENERATOR(7)