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

Reply via email to