Your additional information in post #3 is insufficient, where does $tgt come from?
A good place to start would be to post the output from chxdir.sh and the script that it is called from, this will at least allow us to see what the scripts do.
I am late into this thread, but why not walk before you can run...
As we have no idea what is in chxdir.sh nor the complete script that calls it we have to make wild guesses...
This is one way to get to change a directory on the fly from one script into another...
This is the script to be sourced, I have used the statement "source" instead of its shortcut "."...
The only proviso is you need to intitally know where both scripts are...
This is the master script...
Results of the experiment using OSX 10.14.1, default bash terminal...
Note I have initiated "NEWDIR" on both, not necessary but useful to keep track of used variables...
Now you know that it is possible transfer 'paths' give us your two scripts so that we can peruse them properly, unless you have some ultra-secret code you don't want making public.
Last edited by wisecracker; 01-09-2019 at 09:00 AM..
Your additional information in post #3 is insufficient, where does $tgt come from?
A good place to start would be to post the output from chxdir.sh and the script that it is called from, this will at least allow us to see what the scripts do.
Regards
Gull04
See my earlier simplified script. It's where I want to cd to, then copy files into.
Last edited by Neo; 01-09-2019 at 12:02 PM..
Reason: Adding code tags for someone who refused to add them.
I want to change directory to a fixed base ($photos)/$mn obtained from current year month.
If i put that all together correctly you have two problems:
1) obtain the directory name from the date in the form you want.
2) change into that directory or create it if it is not there.
Assuming that this is correctly stated, here are your solutions:
1) use the date command. It wil output the current date (and time) but you can give it a "format string" which will determine in which form you want to output to be formatted. Part of this "formatting" is also the addition or removal of certain parts of the date.
To get the current date and time:
Now, let us look at the man page of date (this should always be your first reference when trying to figure out what a command does and how it does it):
OK, so we have date +format where we still have to determine what "format" should be. So, reading further in the man page, we find (among many other formats):
So let us have a try:
Problem 1 solved.
For the second problem: you do not need to test it! mkdir knows the -p option, which will create a directory, if it is not there - complete with the whole path leading up to it. Instead of:
you can as well write
Which will create the directory /some if it doesn't exist (if it does exist, nothing happens), the in it this directory create /some/where if it does not exist (again, if it does nothing will happen), and so on.
So, your script could contain something like:
As a general rule: never use relative pathes in scripts, always only absolute pathes. This way your scripts will always do the same to the same files and will not produce different results just because you called them from a different directory. Also, never use cd in a script. First, you will not need it if using absolute pathes and second, you shouldn't have to change the environment for a script to use. If you want to copy files to a directory you do NOT do:
But instead you do:
I hope this helps.
bakunin
Last edited by bakunin; 01-09-2019 at 04:03 PM..
Reason: addendum
I have a file with lines like:
111 12 7
111 13 8
112 12 9
115 31 3
120 31 9
123 10 7
125 12
I want to make a script which, split the first column into parts (101-110, 111-120...), and make directories for its part with name (101-110, 111-120...) Also i want in every directory include... (7 Replies)
hi linux expert
what is a difference between:
mkdir test and mkdir ./test
and also
if ( -e /test ) then and if ( -e ./test ) then
thanks in advance
Please use icode or code tags next time for your code and data (1 Reply)
Hello, :)
I've an issue with the creation of a directory, All work without it :mad: So, below, my scripts with the debug output :
#!/bin/bash
# PATHS
HOME_BACKUP="/home/backup"
HOME_SCRIPT="/home/scripts/test/backup_server"
TARGET="/var/www"
# DATE
DATE_Ymd=$(date +%Y-%m-%d)
#... (1 Reply)
Howdy,
Puttering around in unix, and read this in the mkdir man page:
"The mkdir utility creates the directories named as operands..."
What does this mean, i.e. as operands?
Many thanks,
DN (2 Replies)
Hello,
I'm pretty new to scripting and trying to do a simple (well, I thought so) administrator task. I'm using bash.
I want to create 10 directories under the one directory and apply permissions at the same time.
I've worked out the make directories part: mkdir /userdata/folder{1..50}... (7 Replies)
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
Do the procedure, which if there are 5 parameters then it creates 4 directories with names of 4 parameters, in... (2 Replies)
I am having a problem getting this to work right. The script needs to search through directories and subdirectories. If a jpg is found then create a folder in that directory, so on and so forth. Here is what I have so far but it doesn't work right. Help please
#!/bin/bash
for d in `find ./... (1 Reply)
Is there ant way to increase max number of folders in the directory from the 32766:
Problem UFS:
shell>mkdir mmm
mkdir: mmm: Too many links
But there are no links, just folders.
shell>ls | wc -l
32766 (3 Replies)
Hi,
I look for a script to create 150 directories :
d000
d001
d002
...
...
d149
would you help me please ?
I think it would be
for i
mkdir d$i
Many thanks.
PS :
#uname -a
AIX fserver 3 5 0050691A4C00 (2 Replies)