Configuration Information [Automatically generated, do not change]:
Machine: x86_64
OS: linux-gnu
Compiler: gcc
Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='x86_64'
-DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='x86_64-pc-linux-gnu'
-DCONF_VENDO$
uname output: Linux system-x 4.2.0-19-generic #23-Ubuntu SMP Wed Nov 11
11:39:30 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Machine Type: x86_64-pc-linux-gnu
Bash Version: 4.3
Patch Level: 42
Release Status: release
Description:
If clicking on a functioning command line script from a filemanager gui and
selecting 'run in terminal' , substring expansions will fail in multiple
versions of Debian.
Repeat-By:
#!/bin/bash
# Set of tests to show how Substring Expansion causes failure when script
is run via the filemanager GUI icon
# but succeeds when run directly from the CLI or if using cut as an
alternative method.
# Succeeds, no problem with Fedora/Gnome 22 live ...
# Also works with Knoppix 7, with Xterm from both PCManFM and Dolphin
(Konsole is stable but runs nothing from the gui)
# Fails with Ubuntu, both Unity & OpenBox, both Nautilus and PCManFM,
15.10 (full install) Both Xterm & Gnome Term
# Plus Unity/Nautilus on 14.04 live, 12.10 live & 12.04LTS installed
# Fails with KDE Kubuntu 15.10 live, Konsole crashes the filemanager
(dolphin) Xterm needs install but again fails with the substrings
# Fails Debian with Kernel 4.0.0-1 on Gnome Gparted rescue CD with fluxbox
& PCManFM
# Also with Debian 8.2 live stable with Gnome & Nautilus, on Kernel
3.16.7 ('open-with'
xterm not available)
# Is this a dependancy / build problem ?? Bash is Dash dependant with
Debian ... see https://packages.debian.org/jessie/bash
# Also refer
https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=bash;dist=unstable
printf "\033c" # clear
StringTest="meaningfulwords"
echo; echo " A brief snooze zzz.... could crash if run via Debian/Ubuntu
filemanager... "; sleep 3
# comment out the next two lines to get this script to work when started
from certain file manager GUI
echo; echo " Test1: ${StringTest:0:4}" # works CLI only, fails from the
GUI
echo; echo " Test3: ${StringTest: -5} " # fails from the GUI
#
echo; echo " Test2: ${#StringTest} " # works for both
echo ; echo $StringTest | cut -c 1,2,3,4 # works
Text1=$( echo $StringTest | cut -c 1,2,3,4 ) # works
Text2=$( echo $StringTest | cut -c 4-6 ) # works & all below
echo; echo " text1: $Text1 "
echo; echo " text1b: $( echo $StringTest | cut -c 1,2,3,4 ) "
echo; echo " text2: $Text2 "
echo; echo " Longer snooze to hold a gui launched terminal open" ; echo;
sleep 10
Fix:
This doesn't happen with Fedora.
Is this a dependancy / build problem ?? Bash is Dash dependant with Debian
... from reference https://packages.debian.org/jessie/bash