启动Konsole窗口后运行什么语言,它能做什么?

时间:2012-08-03 15:18:19

标签: linux shell

  1. 如何将表达式的结果存储到变量中?

    echo "hello" > var1
    
  2. 我也可以这样做吗?

    var1.substring(10,15);
    var1.replace('hello', '2');
    var1.indexof('hello')
    
  3. PS。我曾经尝试过谷歌搜索,但并不成功。

3 个答案:

答案 0 :(得分:2)

作为@larsmans评论,Konsole是终端模拟器,后者又运行shell。 在Linux上,这通常是bash,但它可能是其他东西。

找出您正在使用的shell,并打印手册页。

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

要获得一般性介绍,请使用wikipedia entry on the unix shellGNU Bash refererence

一些具体的答案:

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

但这不仅仅是简单的shell编程。

答案 1 :(得分:1)

Konsole基本上是bash。所以它在技术上是你正在寻找的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-ish方法,但无论如何):

$ echo $(expr index hello l)
4

答案 2 :(得分:1)

bash(linux上的标准shell)中,将表达式的结果存储在变量中的语法是

VAR=$( EXPRESSION )

所以,例如:

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

对于你的第二个问题:是的,这些东西只能使用shell - 但你最好使用像python这样的脚本语言。

它的价值:Here是一个描述如何在bash中进行字符串操作的文档。

正如你所看到的,它并不完美。