<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Tcl 中的基本命令 > 原文: [https://zetcode.com/lang/tcl/basiccommands/](https://zetcode.com/lang/tcl/basiccommands/) 在 Tcl 教程的這一部分中,我們介紹了一些基本的 Tcl 命令。 涵蓋的 Tcl 命令包括`puts`,`open`,`gets`,`flush`,`incr`,`info`,`set`和`unset`命令。 ## `puts`命令 在第一個示例中,我們將提到`puts`命令。 `puts`命令用于將消息打印到控制臺或文件等其他通道。 該命令具有以下語法: ```tcl puts ?-nonewline? ?channelId? string ``` `puts`是命令名稱。 在問號之間指定了可選參數。 `-nonewline`開關禁止換行符。 默認情況下,該命令在每條消息中放置換行符。 `channelId`必須是開放通道(例如 Tcl 標準輸入通道`stdin`)的標識符,該標識符是調用`open`或`socket`的返回值。 如果未指定,則默認為標準輸出通道`stdout`。 最后,`string`是要打印的消息。 ```tcl #!/usr/bin/tclsh puts "This is Tcl tutorial" puts stdout "This is Tcl tutorial" ``` `puts`命令將消息打印到控制臺。 這兩個命令調用執行相同的操作。 ## `open`命令 `open`命令打開文件,串行端口或命令管道,并返回通道標識符。 在下面的示例中,我們使用命令打開文件。 ```tcl #!/usr/bin/tclsh puts [open messages w] "This is Tcl tutorial" ``` `puts`命令用于寫入文件,該文件通過`open`命令打開以進行寫入。 ```tcl $ cat messages This is Tcl tutorial ``` 我們將顯示由上述 Tcl 腳本創建的消息文件的內容。 ## `gets`和`flush`命令 `gets`命令從通道讀取一條線,`flush`命令刷新通道的緩沖輸出。 在下面的示例中,我們創建一個向用戶打招呼的腳本。 ```tcl #!/usr/bin/tclsh puts -nonewline "What is your name? " flush stdout gets stdin name puts "Hello $name" ``` 在此示例中,我們請求用戶輸入并以自定義問候語打印輸入。 ```tcl puts -nonewline "What is your name? " ``` `-nonewline`選項禁止換行。 提示保持在同一行。 ```tcl flush stdout ``` 輸出被緩沖。 要在命令運行后立即查看輸出,我們可以使用`flush`命令。 `stdout`是標準輸出。 在我們的例子中,它是一個終端。 它在 Tcl 中稱為頻道 ID。 ```tcl gets stdin name ``` `gets`命令從標準輸入讀取一行。 結果存儲在名稱變量中。 ```tcl puts "Hello $name" ``` 最后,我們向用戶致意。 ```tcl $ ./name.tcl What is your name? Jan Hello Jan ``` 運行示例。 ## `incr`命令 `incr`遞增變量的值。 它具有以下語法: ```tcl incr varName ?increment? ``` 如果將參數傳遞給命令,則將其值添加到變量的值; 否則,該值將增加 1。 ```tcl #!/usr/bin/tclsh # incr_cmd.tcl set x 5 incr x puts $x incr x 4 puts $x ``` 該代碼示例設置一個變量并將其遞增兩次。 ```tcl set x 5 ``` 值 5 設置為`x`變量。 ```tcl incr x puts $x ``` `x`變量增加 1。數字 6 打印到控制臺。 ```tcl incr x 4 puts $x ``` 數字 4 被添加到`x`變量中。 `puts`命令將 10 打印到控制臺。 ```tcl $ ./incr_cmd.tcl 6 10 ``` 這是`incr_cmd.tcl`腳本的輸出。 ## `info`命令 `info`命令返回有關 Tcl 解釋器狀態的信息。 ```tcl #!/usr/bin/tclsh puts [info tclversion] puts [info host] puts [info exists var] ``` `info`命令具有多個選項。 我們展示其中的三個。 ```tcl puts [info tclversion] ``` 在這里,我們打印 Tcl 解釋器的版本。 ```tcl puts [info host] ``` 該行顯示主機名。 ```tcl puts [info exists var] ``` 最后,我們檢查變量`var`是否設置。 ## `set`和`unset`設置命令 `set`命令用于創建和讀取變量。 `unset`命令銷毀變量。 ```tcl #!/usr/bin/tclsh set x 23 puts $x puts [set x] unset x puts [info exists x] ``` 顯示`set`和`unset`命令的示例。 ```tcl set x 23 ``` 我們創建一個`x`變量并為其分配值 23。 ```tcl puts $x ``` 我們打印`x`變量的值。 ```tcl puts [set x] ``` 此行還打印`x`變量的值。 具有一個參數的`set`命令讀取變量的值。 該值將傳遞到`puts`命令并打印到終端。 ```tcl unset x ``` 變量`x`被破壞。 ```tcl puts [info exists x] ``` 我們使用`info exists`命令驗證變量的存在。 ## 命令行參數 像任何其他腳本一樣,Tcl 腳本也可以使用命令行參數。 Tcl 具有三個預定義變量。 * `$argc` - 傳遞給腳本的參數數量 * `$argv` - 參數列表 * `$argv0` - 腳本名稱 ```tcl #!/usr/bin/tclsh puts "The script has $argc arguments" puts "The list of arguments: $argv" puts "The name of the script is $argv0" ``` 我們在此腳本中使用所有預定義的變量。 ```tcl $ ./args.tcl 1 2 3 The script has 3 arguments The list of arguments: 1 2 3 The name of the script is ./args.tcl ``` 運行示例。 本章介紹了 Tcl 語言的一些基礎知識。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看