Shell Script, аргументы командной строки - PullRequest
0 голосов
/ 09 ноября 2010

задача написать скрипт оболочки входными данными являются строка и число

например,

xxx.sh "Hello World" 3

вход будет

***************
* Hello World *
* Hello World *
* Hello World *
***************

и вот что у меня так далеко:

function mantra()   {
    echo "string is $1"
    echo "number is $2"

    echo $string
    echo $PATH
    for num in string_length; do
        echo "*"
    done
}

Как посчитать количество символов в строке? Я делаю правильно? Я не совсем уверен, как передать аргументы командной строки в мою функцию. Цитата

Ответы [ 2 ]

1 голос
/ 09 ноября 2010

Количество символов во входной строке: ${#1}

См. эту страницу для краткого объяснения.

0 голосов
/ 09 ноября 2010
#!/bin/sh

function mantra()   {

    string=$1
    num=$2

    strlen=${#string}

    let strlen=$strlen+2


    echo -n "*"
    for (( times = 0; times < $strlen; times++ )); do echo -n "*" ; done

    echo "*";


}

mantra $1 $2

    for (( times = 0; times < $num; times++ )); do
        echo "* $string *"
    done

mantra $1 $2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...