3
  1. 式の結果を変数に格納するにはどうすればよいですか?

    echo "hello" > var1
    
  2. このようなこともできますか?

    var1.substring(10,15);
    var1.replace('hello', '2');
    var1.indexof('hello')
    

PS。私はグーグルを試しましたが、成功しませんでした。

4

3 に答える 3

2

@larsmansがコメントしているように、Konsoleはターミナルエミュレータであり、これはシェルを実行します。Linuxでは、これは通常bashですが、他の何かである可能性があります。

使用しているシェルを見つけて、manページを印刷します。

echo $SHELL         # shows the full path to the shell
man ${SHELL##*/}    # use the rightmost part (typically bash, in linux)

一般的な紹介については 、UNIXシェルのウィキペディアエントリまたはGNUBash参照を使用してください

いくつかの具体的な答え:

var1="hello"
echo ${var1:0:4}         # prints "hell"
echo ${var1/hello/2}     # prints "2" -- replace "hello" with "2"

そして自慢する危険を冒して:

index_of() { (t=${1%%$2*} && echo ${#t}); }  # define function index_of
index_of "I say hello" hello
6

しかし、これは単純なシェルプログラミングを超えています。

于 2012-08-03T15:54:19.563 に答える
1

Konsoleは基本的にbashです。だから、あなたが探しているのは技術的にバッシュです。

仮定する:

s="hello"

にとってvar1.substring(1,3);

あなたがするだろう:

$ echo ${s:1:2}
el

にとってvar1.replace('e', 'u');

あなたはできる:

$ echo ${s/l/u} #replace only the first instance.
hullo
$ echo ${s//e/u} #this will replace all instances of e with u

にとってvar1.indexof('l')

あなたはできる(私はbashっぽい方法を知らないが、とにかく):

$ echo $(expr index hello l)
4
于 2012-08-03T15:53:59.447 に答える
1

( bashLinux の標準シェル) では、式の結果を変数に格納するための構文は次のとおりです。

VAR=$( EXPRESSION )

たとえば、次のようになります。

$ var=$(echo "hello")
$ echo $var
hello

2 番目の質問について: はい、この種のことはシェルのみを使用して可能ですが、Python などのスクリプト言語を使用する方がおそらく優れています。

その価値について: これは、 bashで文字列操作を行う方法を説明するドキュメントです。

ご覧のとおり、それほど美しくはありません。

于 2012-08-03T16:00:04.917 に答える