• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. adding quotation marks in a string - nesting strings

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 143
  • Views 1928
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

adding quotation marks in a string - nesting strings

lperktold
lperktold over 14 years ago

Hello,

 I would like to run a shell command and wait for it to finish before SKILL continues.

 Assume I want to delete a directory hirachically, (I didn't find a hirachically delete command in SKILL) by running

 ccmd = sprintf(strx "rm -r %s" run_directory)
 csh(ccmd)

Thid works fine, but SKILL is not waiting for the csh command to finish. So I tried to use the inter process communication capability of SKILL:

ccmd = sprintf(strx "rm -r %s" run_directory)
cid = ipcBeginProcess( strcat("csh(\"" ccmd "\")" ) )
ipcWait(cid)

This code does not give me any errors or warnings but does also not delte the directory. I guess the basic problem comes with nesting of  strings when running ipcBeginProcess(). The csh() command as well as the ipcBeginProcess() command expect a string as an argument. I tried to nest those two strings by using the quotation mark escape sequence. SKILL then produces a string like:

> strcat("csh(\"" ccmd "\")" )
"csh(\"rm -r /simulation/320MHz_1.2V_27deg\")"

It seems like the csh() command is not capable of interpreting its given string correctly? But this is just a guess.

Would appreciate any comments.

Enjoy Lunch,
Lukas

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 14 years ago
    Not sure why csh("command") is not waiting (it does for me).

    With ipcBeginProcess, you want to do ipcBeginProcess("rm -rf dir" ...) and not a command like "csh(rm -rf ...)" because that's not a valid UNIX command.

    Regards,

    Andrew
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • lperktold
    lperktold over 14 years ago

     Hello Andrew,

     I had a mistake in my ocean script. I tried to create a log file with outfile() right after I exectuted the csh("rm ...") command. I expected the outfile() command to create the missing directories which it does not. I interpreted this as SKILL not waiting for my csh() command to finish. - Sorry for that.

    So you were completely right Andrew - SKILL is waiting for the csh() command to exit and I don't need any icp command. Everything works now as expected.

    Thanks for your help. And for the future I will call ipcBeginProcess() directly with a shell command instead of a SKILL command :)

     

    Thaks again,

    Lukas

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information