zsh functions update
This commit is contained in:
parent
d2832af169
commit
d50cd9c004
1 changed files with 17 additions and 7 deletions
24
README.md
24
README.md
|
@ -20,17 +20,27 @@ On invocation of `ifup`:
|
||||||
* if it does and the interface is configured, the script will invoke `ifup`
|
* if it does and the interface is configured, the script will invoke `ifup`
|
||||||
for this interface inside the namespace.
|
for this interface inside the namespace.
|
||||||
|
|
||||||
## `zsh` function to start a shell in a namespace
|
## `zsh` functions to run commands and start a shell in a namespace
|
||||||
```
|
```
|
||||||
|
nse () {
|
||||||
|
if [ $# -lt 2 ]; then
|
||||||
|
echo "Please specify a network namespace and a command"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
NS=${1}
|
||||||
|
shift
|
||||||
|
unshare -m /bin/sh <<-EOF
|
||||||
|
mount --make-rprivate /
|
||||||
|
mount --bind /run/network.${NS} /run/network
|
||||||
|
ip netns exec ${NS} ${@}
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
nss () {
|
nss () {
|
||||||
if [ -z $1 ]; then
|
if [ $# -ne 1 ]; then
|
||||||
echo "Please specify a network namespace"
|
echo "Please specify a network namespace"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
unshare -m /bin/sh <<-EOF
|
nse $1 zsh -i
|
||||||
mount --make-rprivate /
|
|
||||||
mount --bind /run/network.${1} /run/network
|
|
||||||
ip netns exec ${1} zsh -i
|
|
||||||
EOF
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
Loading…
Reference in a new issue