~ expansion in printf


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting ~ expansion in printf
# 1  
Old 11-15-2008
Question ~ expansion in printf

Hi,

I have a script that at one point prints to a file as follows:

Code:
printf -- $2 > ~/.mydir/$1

The idea is to print to a hidden directory .mydir in my home directory. I've already sanitized the inputs and $1 is in the format
Code:
path1/path2/filename

and $2 is some user input.

When I run this on my Mac, there's no problem and it works great. When I upload it to the system where I eventually intend to use it, however, it doesn't work quite right. It writes the correct user input to a file located at:
Code:
my_present_directory/~/.mydir/filename

where my_present_directory is wherever I upload the script file to. It's actually making a directory called "~".

Any ideas on how to get this work work as intended?

Thanks!
# 2  
Old 11-15-2008
Code:
~

is only guaranteed to work in interactive shells (and not even then if it's the old Bourne shell as on Solaris).
Code:
$HOME

is the correct portable way to refer to your home directory.
# 3  
Old 11-15-2008
MySQL

That worked great. Thanks!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. 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

2. Shell Programming and Scripting

Tilde expansion

(Using Bash 4.4) When I write something like dir="~/dox" ls $dir then I get the message that the directory '~/docs' does not exist. I understand that the tilde is not expanded at the time of the above assignment because of the quotes. But why is it not expanded at the time when the ls command is... (2 Replies)
Discussion started by: Ralph
2 Replies

3. Shell Programming and Scripting

Bash expansion

Hello. I cannot write a command without using eval. Any help is welcome Note 1 : What does the function SOMETHING has no importance. Note 2 : What does the command find has no importance. It is an expansion variable problem : where to put or or or anythings else What works (FILTRE_1... (8 Replies)
Discussion started by: jcdole
8 Replies

4. Shell Programming and Scripting

Expansion does not work

Hi, I'm trying to figure out whether some files exist. Locations of those file are stored in a plain text file called temp.txt in this way: All environment variables ($LIB_HOME and $ORACLE_HOME) have been set using export command. Then I do: while read line; do ] && echo "OK ==> $line" ||... (6 Replies)
Discussion started by: AlbertGM
6 Replies

5. UNIX for Dummies Questions & Answers

Expansion within cp

I have a bunch of files which I need to transfer to another location... and some of these I need to skip. For e.g. let us say the files are: cust_abc.dat cust_xyz.dat cust_def.dat and I only want to move the first two. I want to do something like: cp cust_.dat <target> ... (1 Reply)
Discussion started by: jawsnnn
1 Replies

6. Shell Programming and Scripting

Need help with parameter expansion

Say you have this numeric variable that can be set by the user but you never want it to leave a certain range when it gets printed. How could you use parameter expansion such that it will never expand outside of that boundary? Thanks ---------- Post updated at 11:09 PM ---------- Previous update... (3 Replies)
Discussion started by: stevenswj
3 Replies

7. Shell Programming and Scripting

Problem with tabs expansion

I have to create some fixed width files using UNIX. The data source is an Oracle SQL query. If I use straight SQL and spool to a file everything comes out as expected. Example Desired result (. indicate blank space): V278814831..................................1743049591.10N... (6 Replies)
Discussion started by: dortoh
6 Replies

8. Shell Programming and Scripting

Need to print the expansion of the found string (the expansion is beween two delimiters '-' , '||'

Hi , could anyone help me out with this problem. sample.txt has this content : u001- this is used for project1 || u002- this is used for p2|| not to be printed u003- this is used for project3 || u004- this is used for p4 || u005- this is used for project5 || u006- this is used for p6... (9 Replies)
Discussion started by: Balaji PK
9 Replies

9. UNIX for Dummies Questions & Answers

sudo and expansion

Hi there, Can anyone explain me the following behavior? hfserver:~# ls -l /home/cronlogs/mysqldump* -rw-r--r-- 1 root root 10658464 2009-01-18 03:00 /home/cronlogs/mysqldump_20090118030002 -rw-r--r-- 1 root root 10651035 2009-01-19 03:00 /home/cronlogs/mysqldump_20090119030001 -rw-r--r-- 1... (4 Replies)
Discussion started by: chebarbudo
4 Replies

10. AIX

AIX Expansion CD

Hey Anyone have a copy of the Expansion CD for the old 5.1 Version of AIX Thanks (0 Replies)
Discussion started by: almuwatta
0 Replies
Login or Register to Ask a Question