這個問題在這里已經有了答案: sh 和 bash 之間的區別 (12 個回答) 1 小時前關閉。
我正在嘗試在 Bash shell 中撰寫一個 for 回圈。這就是我想出的:
for i in {0..20..5}
do
echo "Number: $i"
done
但是輸出是:
Number: {0..20..5}
我也試過這個代碼:
N=10
for i in 1 2 3 4 5 .. $N
do
echo "Welcome $i times"
done
但在這種情況下,輸出也是:
Welcome 1 times
Welcome 2 times
Welcome 3 times
Welcome 4 times
Welcome 5 times
Welcome .. times
Welcome 10 times
我想撰寫一個 for 回圈,我可以在其中獲取限制以及增量或減量值。
這是完整的腳本:
#! usr/bin/bash
N=10
for i in 1 2 3 4 5 .. $N
do
echo "Welcome $i times"
done
for i in {0..20..5}
do
echo "Number: $i"
done
uj5u.com熱心網友回復:
腳本似乎是正確的。
但是,正如您在評論中指出的那樣,運行腳本sh似乎是這里的問題。
在基于 Debian 的發行版中,sh 現在鏈接到“dash”而不是“bash”。因此,您很可能在執行sh.
要檢查是否sh鏈接到“破折號”,請運行
ls -la /bin/sh
如果輸出是這樣的:
lrwxrwxrwx 1 root root 4 Oct 18 19:37 /bin/sh -> dash,它被符號鏈接到“破折號”。
現在,這應該可以解決問題。
- 首先使腳本可執行。
chmod x <script_name>.sh
- 現在嘗試運行腳本
./<script_name>.sh
這將在 bash 中運行腳本。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/335638.html
下一篇:Sed不會替換檔案中的值
