Sponsored Content
Full Discussion: Bash expansion
Top Forums Shell Programming and Scripting Bash expansion Post 302991393 by Chubler_XL on Friday 10th of February 2017 03:02:26 AM
Old 02-10-2017
Additional: if $MY_PATH has the potential to contain whitespace it gets a little more tricky. After some mucking around I did find this solution in bash using arrays:

Code:
$ MY_PATH=/tmp/jc\ dole
$ mkdir -p "$MY_PATH"/{test,.local/share/{kscreen,ballo},.dbus}/{test{1,2},.direct{A,B,C},.Xauthority,.xsession1,.bash_history}
$ F1=( -path "$MY_PATH"/.local/share/kscreen -o -path "$MY_PATH"/.local/share/ballo -o -path "$MY_PATH"/.dbus )
$ set -f
$ F2=(! -name .direct*  ! -name .Xauthority  ! -name .xsession*  ! -name .bash_history)
$ OLDIFS=$IFS
$ IFS=
$ find "$MY_PATH"  -type d \( ${F1[*]} \)  -prune -o \( ${F2[*]} -print \)
/tmp/jc dole
/tmp/jc dole/.local
/tmp/jc dole/.local/share
/tmp/jc dole/test
/tmp/jc dole/test/test1
/tmp/jc dole/test/test2
$ IFS=$OLDIFS
$ set +f

Note: set -f is required to stop glob expansion of wildcards within the F2 array as we want to pass the wildcards onto find

Last edited by Chubler_XL; 02-10-2017 at 04:48 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

bash - delay expansion of variable

Hello - I have a bash script which does some logging, and I'd like to include the line number of the echo statement that pipes into $LOGGER: MYPID=$$ MYNAME=`basename $0` LOGGER="/usr/bin/logger -t $MYNAME($LINENO) -p daemon.error" ... echo 'this is an entry into the log file' | $LOGGER ... (3 Replies)
Discussion started by: scandora
3 Replies

2. Shell Programming and Scripting

Brace expansion problem in Bash

I have a script that takes an option for server pools to run the script against. The option is given as a comma separated list (ie, -p 201,204,301). I'm using eval and brace expansion to get those pool numbers into an array. It works fine unless only 1 pool number is given. Here's the code: ... (5 Replies)
Discussion started by: mglenney
5 Replies

3. Shell Programming and Scripting

Bash variable delayed expansion?

i write a batch file , here is the content. dirname='date +%Y-%m-%d' mkdir dirname but it doen's work, it just create a folder named date and +%Y-%m-%d. i have tried run the command seperately in the bash prompt. after the first sentence executed , i use $dirname to watch the value of... (4 Replies)
Discussion started by: premotheus
4 Replies

4. Shell Programming and Scripting

Does SH support indirect expansion like BASH?

Hello, is there a kind soul who can answer me, does the SH support double substitution known as indirect expansion similar to BASH? The syntax for bash is ${!var}. For instance in bash I can write something like this: VAR="value" REF_VAR="VAR" echo ${!REF_VAR} and get the "value"... (1 Reply)
Discussion started by: dimentiy
1 Replies

5. Shell Programming and Scripting

Bash shell expansion help

This is what I have in my directory. $ ls test1.txt test2.txt test3.txt test4.txt test5.txt test_script.sh This is what my shellscript looks like. #!/bin/bash for filename in /shell_expansion/*.txt; do for ((i=0; i<=3; i++)); do echo "$filename" ... (5 Replies)
Discussion started by: cokedude
5 Replies

6. Shell Programming and Scripting

Bash variable expansion

Hello. The file /etc/fstab contains UUID=957c3295-9944-1593-82e2-2b90dede4312 / ext4 noatime,discard,acl,user_xattr 1 1 I fill a variable SOME_LINE=$( cat /etc/fstab | grep \/\..*ext4 | grep noatime,discard )echo $SOME_LINE... (3 Replies)
Discussion started by: jcdole
3 Replies

7. Shell Programming and Scripting

Bash Parameter Expansion

I have made the following examples that print various parameter expansions text: iv-hhz-sac/hpac/hhz.d/iv.hpac..hhz.d.2016.250.070018.sac (text%.*): iv-hhz-sac/hpac/hhz.d/iv.hpac..hhz.d.2016.250.070018 (text%%.*): iv-hhz-sac/hpac/hhz (text#*.): d/iv.hpac..hhz.d.2016.250.070018.sac... (2 Replies)
Discussion started by: kristinu
2 Replies

8. Shell Programming and Scripting

Bash Parameter Expansion

#!/bin/bash SNMPW='/usr/bin/snmpwalk' while read h i do loc=$($SNMPW -v3 -u 'Myusername' -l authPriv -a SHA -A 'Password1' -x AES -X 'Password2' $i sysLocation.0 2>/dev/null) loc=${loc:-" is not snmpable."} loc=${loc##*: } loc=${loc//,/} echo "$i,$h,$loc" done < $1 My question is ... ... (1 Reply)
Discussion started by: sumguy
1 Replies

9. Shell Programming and Scripting

Bash : More parameter expansion and IFS

I am trying to become more fluent with the interworking of bash and minimize the number of external calls. Sample Data. This will be the response of the snmp query. SNMPv2-MIB::sysName.0 = STRING: SomeHostName SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.1745... (5 Replies)
Discussion started by: sumguy
5 Replies

10. Shell Programming and Scripting

Use parameter expansion over a parameter expansion in bash.

Hello All, Could you please do help me here as I would like to perform parameter expansion in shell over a parameter expansion. Let's say I have following variable. path="/var/talend/nat/cdc" Now to get only nat I could do following. path1="${path%/*}" path1="${path1##*/}" Here... (8 Replies)
Discussion started by: RavinderSingh13
8 Replies
dbus-cleanup-sockets(1) 				      General Commands Manual					   dbus-cleanup-sockets(1)

NAME
dbus-cleanup-sockets - clean up leftover sockets in a directory SYNOPSIS
dbus-cleanup-sockets [DIRECTORY] DESCRIPTION
The dbus-cleanup-sockets command cleans up unused D-Bus connection sockets. See http://www.freedesktop.org/software/dbus/ for more informa- tion about the big picture. If given no arguments, dbus-cleanup-sockets cleans up sockets in the standard default socket directory for the per-user-login-session mes- sage bus; this is usually /tmp. Optionally, you can pass a different directory on the command line. On Linux, this program is essentially useless, because D-Bus defaults to using "abstract sockets" that exist only in memory and don't have a corresponding file in /tmp. On most other flavors of UNIX, it's possible for the socket files to leak when programs using D-Bus exit abnormally or without closing their D-Bus connections. Thus, it might be interesting to run dbus-cleanup-sockets in a cron job to mop up any leaked sockets. Or you can just ignore the leaked sockets, they aren't really hurting anything, other than cluttering the output of "ls /tmp" AUTHOR
dbus-cleanup-sockets was adapted by Havoc Pennington from linc-cleanup-sockets written by Michael Meeks. BUGS
Please send bug reports to the D-Bus mailing list or bug tracker, see http://www.freedesktop.org/software/dbus/ dbus-cleanup-sockets(1)
All times are GMT -4. The time now is 08:45 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy