Help with making the output of a command a variable

Login or Register to Reply

Thread Tools Search this Thread
# 1  
Help with making the output of a command a variable

I'm writing a script that goes something like this:


zenity --list --checklist --title="Choose Packages to Install" --width="1000" --height="400" \
--column="Select" --column="Package Name" --column="Description" \
GIMP=$( " " GIMP "GIMP is a free and open source photo editor."  \ )
if [ $GIMP == "GIMP" ]
	sudo apt-get install $GIMP

I want to open a dialog box with check boxes, package names, and descriptions. The box I have written is the first attached file.

I plan on adding other programs, but I have not gotten there yet.

" "

in the line
" " GIMP "Known as GIMP, GNU Image Manipulation Program is a free and open source photo editor." \

is for the first checkbox.

My main problem is the quotation marks at the end and beginning of the line (attached file #2). The quotation marks read in the wrong direction, and not how I want them to, having quotation marks inside of quotation marks?

Is there any way to fix this? Do I need to take a completely different approach?
Help with making the output of a command a variable-dialogbox10png
Help with making the output of a command a variable-zenity1png

Last edited by Defunct_Lizard; 3 Weeks Ago at 09:15 PM.. Reason: I did not intend for the attached files not to be alongside the text.
# 2  
I am not a fan of zenity, but I don't think zenity or double-quotes are your problem here.

The $( in your bash script starts a command substitution. That command substitution tries to run the command named by the first argument in the command substitution (in this case, a command named by the double-quoted <space> character that you say is intended to give you a check box). I would expect that to give you an error something like:
bash:  : command not found

but you won't get that until you finish the command substitution. Your command substitution is looking for an unescaped closing parenthesis to finish it. Since you have a backslash character escaping the closing parenthesis in your command substitution, another closing parenthesis is needed to close the command substitution!

Why are you trying to use a command substitution here? What command are you trying to run in this command substitution?
This User Gave Thanks to Don Cragun For This Post:
Login or Register to Reply

Thread Tools Search this Thread
Search this Thread:
Advanced Search

More UNIX and Linux Forum Topics You Might Find Helpful
How to get the output of a ISQL command in a variable?
I am trying to run a query which returns a sum value(a number). I want to get it in a variable so that i can refer to that variable in different places. when i am running the following command variable=`isql -Uuser -Sserver -Ppassword 1> select sum(count(*)) from where clm_id...... Shell Programming and Scripting
Shell Programming and Scripting
Making script show command (e.g. copy) being executed and variable substitution?
When script is running you only see when some of the commands are not successfull. Is there a way to see which command are executed and to show the substitution of variables as every line is executed ?... Shell Programming and Scripting
Shell Programming and Scripting
Command output into a variable
Hi, with this command: cu -l /dev/ttyACM0 -s 9600 > name.txt I put the output of the port in a txt Is posible to do the same (or similar) in a var directly, inside a C program? cu -l /dev/ttyACM0 -s 9600 > variable ? I have trying this withs pipes, but i dont know how to...... Programming
get characters from output of a command in a variable
Hi, i have two questions, I am new to programming 1. I have an output of a command and i want to get some specific part of it in a variable. i am trying sr=`some comand xyz| grep 'Last Changed Rev:' | cut -c19-` now variable sr gets a end of line character at end. output of the command...... Shell Programming and Scripting
Shell Programming and Scripting
Command output to a variable.
With cut -c 8-13 myfile, I am getting some numeric value. In my shell script I am trying to assign something like this, var=cut -c 8-13 myfile But at the time of execution I am getting -c is not found. If I dont assign, then script executes well. Can we not simply use the value from one...... Shell Programming and Scripting
Shell Programming and Scripting
UNIX and Linux

Unix (trademarked as the UNIX certification mark) is a very mature family of multitasking, multiuser computer operating systems that evolved from the original AT&T Unix. Unix development starting in the 1970s by legendary Bell Labs programmers Ken Thompson, Dennis Ritchie, and others. Unix was first targeted for the Bell System and AT&T licensed Unix to outside parties. In the 1970s time period, this lead to a variety of for-profit as well as not-for-profit Unix variants.
In the early days, this included the University of California, Berkeley (BSD), Microsoft (Xenix), IBM (AIX), and Sun Microsystems (Solaris). In the early 1990s, AT&T sold their Unix rights to Novell. In 1995 Novell sold their Unix business to the Santa Cruz Operation (SCO). The UNIX trademark was passed to The Open Group, a "neutral" industry consortium. The Open Group promoted the use of the UNIX trademark for certified operating systems that comply with the Single UNIX Specification (SUS). In 2014 Apple's macOS became the Unix version with the largest global install base and macOS remains the largest Unix-user base today.
Linux is a family of open source Unix-like operating systems based on the Linux kernel. The Linux kernel is an operating system kernel first released by Linus Torvalds on 17 September 1991. Linux distributions include the Linux kernel, system software and libraries. Popular free open source Linux distributions include Debian, Fedora, and Ubuntu. Commercial Linux distributions include Red Hat Enterprise Linux and SUSE Linux Enterprise Server. Linux may be freely modified and redistributed. Anyone on the planet may create a Linux distribution for any purpose.
Please enjoy and help our forum community by "showing your work" and posting your code, even when your code is not working as expected. To help others help you, please wrap your code blocks, sample input, sample output, error messages, and other data in CODE tags and wrap your short commands and short data objects in ICODE tags. We were all beginners in the beginning. If you have any questions about how to register or how to post, please contact us in Live Chat. Thank you and enjoy this "forever free" technical support community for UNIX, Linux and computer information technology in general.