Fix bash path in shebangs
PATCH 1/1 Fix bash path in shebangs
From: Alan Somers <[email protected]>
"/bin/bash" is a Linuxism. "/usr/bin/env bash" is portable.
Signed-off-by Alan Somers <[email protected]>
--- examples/performance-thread/l3fwd-thread/test.sh | 2 +- usertools/dpdk-setup.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
examples/performance-thread/l3fwd-thread/test.sh +1 -1
@@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash case "$1" in
usertools/dpdk-setup.sh +1 -1
@@ -1,4 +1,4 @@ -#! /bin/bash +#! /usr/bin/env bash # BSD LICENSE #
Signature · 1 line
2.13.3
27/07/2017 22:12, [email protected]:
Quoted 3 lines
From: Alan Somers <[email protected]>
"
/bin/bash" is a Linuxism. "/usr/bin/envbash" is portable.
Why is it an issue?
Can you run dpdk-setup.sh on a non-Linux system?
Quoted 9 lines · Thomas Monjalon
27/07/2017 22:12, [email protected]:
Quoted 3 lines
From: Alan Somers <[email protected]>
"
/bin/bash" is a Linuxism. "/usr/bin/envbash" is portable.Why is it an issue?
Can you run
dpdk-setup.shon a non-Linux system?
Nope, because even dpdk-setup.sh assumes that bash is located at /bin/bash. But "/usr/bin/env bash" works everywhere.
13/09/2017 16:35, alan somers:
Quoted 12 lines · Thomas Monjalon
Quoted 8 lines
27/07/2017 22:12, [email protected]:
Quoted 3 lines
From: Alan Somers <[email protected]>
"
/bin/bash" is a Linuxism. "/usr/bin/envbash" is portable.Why is it an issue?
Can you run
dpdk-setup.shon a non-Linux system?Nope, because even
dpdk-setup.shassumes that bash is located at/bin/bash. But "/usr/bin/envbash" works everywhere.
No, I mean: can you run dpdk-setup.sh on a non-Linux system after your change?
This script configures a Linux system, so I want to understand what situation you are trying to fix.
Quoted 11 lines · Thomas Monjalon
13/09/2017 16:35, alan somers:
Quoted 10 lines · Thomas Monjalon
Quoted 8 lines
27/07/2017 22:12, [email protected]:
Quoted 3 lines
From: Alan Somers <[email protected]>
"
/bin/bash" is a Linuxism. "/usr/bin/envbash" is portable.Why is it an issue?
Can you run
dpdk-setup.shon a non-Linux system?
Quoted 7 lines
Quoted 2 lines
Nope, because even
dpdk-setup.shassumes that bash is located at/bin/bash. But "/usr/bin/envbash" works everywhere.No, I mean: can you run
dpdk-setup.shon a non-Linux system after your change?This script configures a Linux system, so I want to understand what situation you are trying to fix.
I'm using Ceph, which imports DPDK whole (and several other 3rd party projects too). I'm not sure which parts of these 3rd party projects Ceph is actually using, but it's easier to fix the bash path everywhere than to determine which places need it to be fixed. And AFAIK it doesn't cause any problems on any modern Unix derivative. -Alan
13/09/2017 17:55, alan somers:
Quoted 17 lines · Thomas Monjalon
Quoted 16 lines
13/09/2017 16:35, alan somers:
Quoted 12 lines · Thomas Monjalon
Quoted 8 lines
27/07/2017 22:12, [email protected]:
Quoted 3 lines
From: Alan Somers <[email protected]>
"
/bin/bash" is a Linuxism. "/usr/bin/envbash" is portable.Why is it an issue?
Can you run
dpdk-setup.shon a non-Linux system?Nope, because even
dpdk-setup.shassumes that bash is located at/bin/bash. But "/usr/bin/envbash" works everywhere.No, I mean: can you run
dpdk-setup.shon a non-Linux system after your change?
Quoted 8 lines
Quoted 2 lines
This script configures a Linux system, so I want to understand what situation you are trying to fix.
I'm using Ceph, which imports DPDK whole (and several other 3rd party projects too). I'm not sure which parts of these 3rd party projects Ceph is actually using, but it's easier to fix the bash path everywhere than to determine which places need it to be fixed. And AFAIK it doesn't cause any problems on any modern Unix derivative.
If I understand well, you don't know which case it is fixing, but you prefer the shebang being this way.
I am a bit reluctant to fix something if we don't know what is the bug. Maybe it does not hurt, but there can be some drawbacks:
- the chosen bash binary depends on the environment PATH
- it makes impossible to add some options in the shebang