ls command not working properly with Slurm

4 visualizzazioni (ultimi 30 giorni)
EmmaB
EmmaB il 5 Feb 2019
Commentato: EmmaB il 6 Feb 2019
Hi,
I'm trying to run a Matlab script with my company's cluster (managed with Slurm). At some point, my script contains a simple
listSuj = ls('Suj*');
command, which works properly when I run the script locally, but does not work as expected when I run it on the cluster. Specifically, on top of returning a list of files or folders whose name begins by 'Suj', it returns the contents of these folders.
I suspect it is due to some interference with the Unix ls command, but I have little to no experience about Unix unfortunately...
Could anyone please let me know how to get Matlab's ls function to run properly?
Thanks!
Emma
  2 Commenti
Kojiro Saito
Kojiro Saito il 6 Feb 2019
It might be the current directory of MATLAB from SLURM is not as you expected.
What the
pwd
returns?
And how about adding the following in the first place of MATLAB codes?
cd /path/to/your/directory
EmmaB
EmmaB il 6 Feb 2019
Hi Kojiro,
Thank you for your reply.
I actually cd to the correct directory (with absolute path) just above the ls command, so it's not an issue about the current working directory.
I forgot to mention that I'm a Windows user, if that might be of interest.
Also, the issue is solved when I use
[~, cmdout] = system('ls -d * |grep -i suj');
i.e., it returns a list of the desired folders, but in the form of a character vector, which I then have to sparse into an array of strings, and it is kind of bothersome anyway.
Thanks in advance for your help.

Accedi per commentare.

Risposta accettata

Jan
Jan il 6 Feb 2019
Using ls to get a list of files or folders is a bad idea in any way. It replies the list a char array, but it is hard to use. So maybe there is another reason to use dir instead:
List = dir('Subj*');
FileName = fullfile({List.folder}, {List.name})
Working with absolute path names is more secure, because the current directory can be changed unexpectedly by callbacks of GUIs or timer 's.
  1 Commento
EmmaB
EmmaB il 6 Feb 2019
Thanks Jan.
Although I thought I had already tried it,
dir('Subj*');
did work!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Third-Party Cluster Configuration in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by