如何撰寫一個 bash 腳本來標記每個引數,如下所示:
$ bash argcnt.sh this is a "real live" test
there are 5 arguments
arg1: this
arg2: is
arg3: a
arg4: real live
arg5: test
因為無論我做什么,它只算作 6 個引數
uj5u.com熱心網友回復:
一方面,您嘗試使用不同的格式,導致其大小不正確。
this is a "real live" test
這是行不通的,因為您在幾個單詞上使用了引號,將該論點視為一個論點。
this is a real live test
可以,將每個單詞都算作不同的論點。
對于 2,您使代碼變得比必須的更復雜。您正在單獨回顯每個命令,而不是創建一個執行繁重作業的 for 回圈。
echo "There are $# arguments"
$# 告訴你引數的數量。
i=1
for arg in $@;
do
echo -e "arg$i: $arg\n"
i =1
done
這將創建一個回圈,列印出給定的每個引數以及有多少個引數
uj5u.com熱心網友回復:
你在正確的軌道上。在您的示例中,"real live"被視為一個輸入。它在變數中$4。
#!/bin/bash
echo "there are $# arguments"
echo "arg1: $1"
echo "arg2: $2"
echo "arg3: $3"
echo "arg4: $4"
echo "arg5: $5"
當您使用輸入運行此程式時,它應該為您提供您所說的輸出。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/455982.html
