diff options
author | Zev Weiss <zev@bewilderbeest.net> | 2017-03-21 21:02:37 -0500 |
---|---|---|
committer | Zev Weiss <zev@bewilderbeest.net> | 2017-03-21 21:02:37 -0500 |
commit | 6d478c3dd46e2083fb29ff5fb8d143cbfae2903b (patch) | |
tree | 07551dd7136d8efdaf9fa84486d778aeb46b6eab | |
parent | 046266a2f776b770e18115d8c9a764c9498b78a8 (diff) | |
download | virtme-6d478c3dd46e2083fb29ff5fb8d143cbfae2903b.tar.gz |
virtme-init: create /dev/{fd,std{in,out,err}} symlinks
bash, for example, wants /dev/fd to exist for implementing process
substitution (e.g. 'cat <(echo hello)'). Might as well provide the
usual three stdio links while we're there.
Signed-off-by: Zev Weiss <zev@bewilderbeest.net>
-rwxr-xr-x | virtme/guest/virtme-init | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/virtme/guest/virtme-init b/virtme/guest/virtme-init index 0a17c2b..3f68b9a 100755 --- a/virtme/guest/virtme-init +++ b/virtme/guest/virtme-init @@ -121,6 +121,16 @@ mkdir -p -m 0755 /dev/shm /dev/pts mount -t devpts -o gid=tty,mode=620,noexec,nosuid devpts /dev/pts mount -t tmpfs -o mode=1777,nosuid,nodev tmpfs /dev/shm +# Install /proc/self/fd symlinks into /dev if not already present +declare -r -A fdlinks=(["/dev/fd"]="/proc/self/fd" + ["/dev/stdin"]="/proc/self/fd/0" + ["/dev/stdout"]="/proc/self/fd/1" + ["/dev/stderr"]="/proc/self/fd/2") + +for p in "${!fdlinks[@]}"; do + [[ -e "$p" ]] || ln -s "${fdlinks[$p]}" "$p" +done + # Bring up networking ip link set dev lo up |