Sponsored Content
Top Forums UNIX for Advanced & Expert Users Help with command substitution in C program Post 302463450 by royalbull on Sunday 17th of October 2010 03:47:26 PM
Old 10-17-2010
Help with command substitution in C program

Hi,

I want to know if there's a cleaner way for assigning output of a unix command to a variable in C program .

Example : I execute dirname fname and want the output to be assigned to a variable dname . Is it possible .

I knew u can redirect the output to a file and then reread assigning it , but ca it be done in a leaner better way . Thanks in advance . Smilie
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Substitution of last command

"Is there any substituation of last command or script syntax which can be used as a user. As far I know the "last" command is being used to display information about previous logins. A member of adm group or the user adm can execute it only. Thanks in advance for your usual help. Ghazi (6 Replies)
Discussion started by: ghazi
6 Replies

2. UNIX for Dummies Questions & Answers

Script to open program and send/execute command in program

Hi, i want to write a script that executes a program (exec?) . this program then requires a filename as input. how do i give it this input in the script so the program will be complete run and close by the script. e.g. exec prog.exe program then asks for filename "enter filename:"... (1 Reply)
Discussion started by: tuathan
1 Replies

3. Shell Programming and Scripting

Difference between "Command substitution" and "Process substitution"

Hi, What is the actual difference between these two? Why the following code works for process substitution and fails for command substitution? while IFS= read -r line; do echo $line; done < <(cat file)executes successfully and display the contents of the file But, while IFS='\n' read -r... (3 Replies)
Discussion started by: royalibrahim
3 Replies

4. Shell Programming and Scripting

Can process substitution be used as an input file to another program?

Hey, I was trying to figure out how to launch a program from the command line, and it works if you pass it a config file. I was thinking about writing a script to dynamically create the config file and pass it to the command using something like command substitution (so I don't actually have to... (3 Replies)
Discussion started by: bj0
3 Replies

5. UNIX for Dummies Questions & Answers

sed insert command and variable expansion/command substitution

I know this script is crummy, but I was just messing around.. how do I get sed's insert command to allow variable expansion to show the filename? #!/bin/bash filename=`echo $0` /usr/bin/sed '/#include/ { i\ the filename is `$filename` }' $1 exit 0 (8 Replies)
Discussion started by: glev2005
8 Replies

6. UNIX for Dummies Questions & Answers

read command - using output from command substitution

Hey, guys! Trying to research this is such a pain since the read command itself is a common word. Try searching "unix OR linux read command examples" or using the command substitution keyword. :eek: So, I wanted to use a command statement similar to the following. This is kinda taken... (2 Replies)
Discussion started by: ProGrammar
2 Replies

7. Shell Programming and Scripting

command substitution doubt

Hi, I almost always use back quotes in scripts to assigin output of a command to a variable. eg: file=`basename a/b/c/d/file` year_mon=`date +%Y%m` But the same can be achieved like: file=$(basename a/b/c/d/file) year_mon=$(date +%Y%m) I would like to know if there is... (3 Replies)
Discussion started by: wanderingmind16
3 Replies

8. Shell Programming and Scripting

Substitution within string command

I have the following code: strfuture=abcdefghi ver=${strfuture:${count}:1} mj7777_ver=${ver} start_mj7777_iteration let count=count+1 When it is executed I get bad substitution. The same if I use ver=${strfuture:$count:1} mj7777_ver=${ver}... (6 Replies)
Discussion started by: Bruble
6 Replies

9. Shell Programming and Scripting

Regarding command substitution

Oracle Linux 5.6, 64-bit Given the following snippet wrkvar=`sqlplus -s / as sysdba <<EOF set echo off feedback off head off trimsp on select count(*) from v\$parameter where name in ('db_file_name_convert','log_file_name_convert') and value is not null; EOF` echo wrkvar=$wrkvarProduces... (2 Replies)
Discussion started by: edstevens
2 Replies

10. Shell Programming and Scripting

Command option substitution?

Hi folks, I totally dislike asking questions in forums but this one eats up to much of my time I need to spend on other topics. I have a shell-script in which I call a terminal. I want to invoke bash inside the terminal and print a message inside bash with aid of a here document. See... (7 Replies)
Discussion started by: bluntroller
7 Replies
basename(1)						      General Commands Manual						       basename(1)

NAME
basename, dirname - Returns the base file name or directory portion of a path name SYNOPSIS
basename string [suffix] dirname string STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: basename: XCU5.0 dirname: XCU5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. OPTIONS
None OPERANDS
A string to be evaluated. This string may be empty. A file name suffix to be deleted if found. This operand applies to the basename com- mand only, and is optional. DESCRIPTION
The basename command reads the string specified on the command line, deletes the portion from the beginning to the last / (slash), and writes the base file name to standard output. If suffix is specified on the command line and suffix appears in string, the string is returned with the suffix removed. The dirname command reads the string specified on the command line, deletes from the last / (slash) to the end of the line, and writes the remaining path name to standard output. [Tru64 UNIX] The basename and dirname commands are generally used inside command substitutions within a shell procedure to specify an out- put file name that is some variation of a specified input file name. For more information, see the csh(1), ksh(1), and sh(1b) or sh(1p) reference pages. The following table demonstrates the processing applied to characters with particular meanings by the basename and dirname commands. ------------------------------ basename dirname string Result Result ------------------------------ / / / // / / /a/b b /a //a//b// b //a <null> err msg err msg a a . "" . /a a / /a/b b /a a/b b a ------------------------------ NOTES
It is not an error if suffix is not a part of string. EXAMPLES
To display the base file name of a shell variable, enter: basename $WORKFILE This displays the base file name of the value assigned to the WORKFILE shell variable. If WORKFILE is set to /u/gabe/program.c, then program.c is displayed. To construct, in a shell script, a file name that is the same as another file name, except for its suffix, enter the following command, using grave accents: OFILE=`basename $1 .c`.o This assigns to OFILE the value of the first positional parameter ($1), but with its suffix changed to $1 is /u/jim/program.c, then OFILE becomes program.o. Because program.o is only a base file name, it identifies a file in the current directory. The grave accents perform command substitution. To construct the name of a file located in the same directory as another, enter the following command, using grave accents: AOUTFILE=`dirname $TEXTFILE`/a.out This sets the AOUTFILE shell variable to the name of an a.out file that is in the same directory as TEXTFILE. If TEXTFILE is /u/fran/prog.c, then the value of dirname $TEXTFILE is /u/fran and AOUTFILE becomes /u/fran/a.out. ENVIRONMENT VARIABLES
The following environment variables affect the execution of basename and dirname: Provides a default value for the internationalization variables that are unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the inter- nationalization variables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non- empty string value, overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). Determines the locale for the format and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of LC_MESSAGES. SEE ALSO
Commands: csh(1), ksh(1), Bourne shell sh(1b), POSIX shell sh(1p) Standards: standards(5) basename(1)
All times are GMT -4. The time now is 10:15 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy