如何将表达式的结果存储到变量中?
echo "hello" > var1
我也可以这样做吗?
var1.substring(10,15);
var1.replace('hello', '2');
var1.indexof('hello')
PS。我曾经尝试过谷歌搜索,但并不成功。
答案 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 shell或GNU 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中进行字符串操作的文档。
正如你所看到的,它并不完美。