Sponsored Content
Full Discussion: Error in tcl script
Top Forums UNIX for Advanced & Expert Users Error in tcl script Post 302811487 by drl on Thursday 23rd of May 2013 03:17:44 PM
Old 05-23-2013
Hi.

It looks like your arguments are in the wrong order:
Code:
#!/usr/bin/env tclsh

# @(#) s2     Demonstrate "file link".

puts stdout ""
set version [ info tclversion ]
set message " Hello, world from tclsh ($version)"
puts stdout $message

puts stdout ""
if { $argc == 0 } then {
  puts stdout " No command line parameters provided."
  set file "stdin"
} else {
  set i 0
  puts stdout " Command line arguments:"
  foreach arg $argv {
    set m1 " $i $arg"
    incr i
    set m2 ""
    if { [ file exists $arg ] } then {
      set m2 [ join [ list "(" [ file type $arg ] ")" ] ]
    }
    puts stdout "$m1 $m2"
	set file $arg
  }
}

puts ""
exec rm -f a b
exec touch a
exec ls -lgG a >@stdout

puts ""
puts " Results for link b a"
file link b a
exec ls -lgG a b >@stdout

puts ""
exec rm -f a b
exec touch a
puts " Results for link a b"
file link a b
exec ls -lgG a b >@stdout

exit 0

producing:
Code:
% ./s2

 Hello, world from tclsh (8.4)

 No command line parameters provided.

-rw-r--r-- 1 0 May 23 14:12 a

 Results for link b a
-rw-r--r-- 1  0 May 23 14:12 a
lrwxrwxrwx 1 37 May 23 14:12 b -> .../a

 Results for link a b
could not create new link "a": that path already exists
    while executing
"file link a b"
    (file "./s2" line 43)

Found by experimentation.

Best wishes ... cheers,drl
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sed Script in TCL

Hi, I am trying to run the following in my tcl script--- set ul *//;s/*$//;/^$/d;s/^/"20080401 09:43:08.770798,/;s/$/"/;s/,/","/g} | \ /bin/awk -F, {{print $1","$2","$3","$4","$5}} | \ sed '1i\ REPORT.TIMESTAMP.s,REPORT.CUSTOMER.s,REPORT.CODE.s,REPORT.A_CODE.s,REPORT.DESCRIPTION.s' \ >... (2 Replies)
Discussion started by: MrG-San
2 Replies

2. Shell Programming and Scripting

TCL TK SCRIPT Help Please

Hi Seniors, Need a help from your end. I am new to scripting and still in the learning process of scripting. I have written a script on TCL TK. This is the script that i have written. if { $EssEntityType == "rss_user" && $EssAction == "Insert" } { puts $fp " Ess Action :$EssAction" ... (0 Replies)
Discussion started by: tech90210
0 Replies

3. Programming

Syntax error in tcl/tk code

Hi All, I have written a code in tcl which is supposed to open an GUI in which numbers will be entered & after performing selected operation it wil show a result. #!/usr/local/bin/wish #package require Tk #global opr proc DoOperation {} { global opr set fstno set scdno set result ... (2 Replies)
Discussion started by: milindb
2 Replies

4. Shell Programming and Scripting

expect TCL script

Hello, I write a TCL script for Expect/ Telnet. I want to send command to the telnet server. But I want to close after the command is sent. Anybody know which command can flush the expect so I can sure the command is sent to the telnet server??? EX: send "./command1\r" close... (0 Replies)
Discussion started by: linboco
0 Replies

5. Shell Programming and Scripting

Issue in regards with TCL script

Hi , I am having one File "free" contents are like this module KANDI ( DQS2SD0,.DQW09X2SEL2(... (0 Replies)
Discussion started by: kshitij
0 Replies

6. Shell Programming and Scripting

Syntax error calling TCL script from shell script

hello everyone i am beginner on shell scripting .and i am working on my project work on ad hoc network i wrote a batch (.sh) to do a looping and execute a tcl script i wrote before in each iteration ..but i got this problem " syntax error near unexpected token `('... (1 Reply)
Discussion started by: marcoss90
1 Replies

7. Shell Programming and Scripting

TCL script in PERL

Hi all, I am trying to run a tcl script in a perl script. Now my problem is when I run the tcl script from the perl script it runs very slowly but when I run the tcl script individually it is running at expected speed. What could be the problem?? Help please!!!! Thanks (0 Replies)
Discussion started by: mirock
0 Replies

8. Programming

Tcl script

Dear Users I'm struck by while the following tcl script. foreach l { set w($l) {} set fsum 0 foreach ftemp $f($l) { set fsum lappend w($l) $fsum } } It shows me error as "missing operand at _@_ in expression "0.10308400000000001 + _@_* 0.4 * 1" ... (0 Replies)
Discussion started by: bala06
0 Replies

9. Shell Programming and Scripting

Help with TCL script

I need to read a file, the file has a table in it. From the table I need to choose all the rows for which AVG 2 value is greater than 0.050 and write them on to a separate file. Please help me with the TCL script for this. Thanks in Advance (0 Replies)
Discussion started by: tonystark
0 Replies

10. Shell Programming and Scripting

TCL script help

Hi All , I am having a file as stated below File 1 chain = chan6 group = grp0 input = '/pad_pc10' output = '/pad_pb7' length = 9900 chain = chan2 group = grp0 input = '/pad_pa4' output = '/pad_pb12' length = 10000 chain = chan7 group = grp0 input = '/pad_pb2' output =... (1 Reply)
Discussion started by: kshitij
1 Replies
tcl(1)							      General Commands Manual							    tcl(1)

NAME
tcl, tk, tcl-tk - Tool Command Language DESCRIPTION
The tcl software is unsupported software that is provided as part of Tru64 UNIX. Compaq will fix problems in this unsupported software only if they are specific to Tru64 UNIX. Compaq will not fix problems that are integral to the software itself or that occur when the com- ponent is used on UNIX systems other than Tru64 UNIX. Compaq will not add functionality to this software. Except for this reference page, other reference pages that Tru64 UNIX supplies for tcl are passed through without changes. The reference pages distributed as part of this software are available in the directories /usr/share/doclib/annex/man/man[1-9]. You should use this directory stem in the man command or add it to the MANPATH environment variable to make these files available to the man command. Note Compaq is not responsible for the content or quality of reference pages and other documents installed under the /usr/share/doclib/annex directory and does not revise this material in response to customer problem reports. Reference pages installed under the /usr/share/doclib/annex/man directory are not available from Compaq in book form; for example, they are not included in the reference manu- als that you receive when you order the Tru64 UNIX documentation set as hard copy books. Problems related to the content or quality of any documentation installed in the /usr/share/doclib/annex directory tree should be sent to the developers of the documentation. The format for changing the search path with the man command is: man -P /usr/share/doclib/annex/man [section] title... If you are using the Bourne, Korn, or POSIX shells, use the following command sequence to modify your environment: MANPATH=$MAN- PATH:/usr/share/doclib/annex/man export MANPATH If you are using the C shell, enter the command: setenv MANPATH `echo $MANPATH`:/usr/share/doclib/annex/man See the reference pages for the man(1) command for additional information on the search path used to locate files. The reference pages associated with this product are not included in the whatis data base created by the catman command. Therefore, the man -k and apropos commands will not locate reference pages included with this product. SEE ALSO
Commands: apropos(1), catman(8), man(1) tcl(1)
All times are GMT -4. The time now is 03:40 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy