我有一些shell命令.我想将输出写入标准输出并将其保存到变量中.我想用一个命令来解决它.我试过这些东西.
ls > $VAR # redirects the output to file which name is stored in $VAR
ls | tee -a $VAR # writes to standard output as well as in file which name is stored in $VAR
VAR=`ls` # output into $VAR, but it is not sent to standard output
VAR=`ls`;echo $VAR # ok, it works but these are two commands
Run Code Online (Sandbox Code Playgroud)
任何的想法?
在我的bash脚本中,我以另一个用户身份执行一些命令.我想用bash函数调用su.
my_function()
{
do_something
}
su username -c "my_function"
Run Code Online (Sandbox Code Playgroud)
上面的脚本不起作用.当然,my_function里面没有定义su.我的一个想法是将函数放入一个单独的文件中.你有更好的想法,避免制作另一个文件?
我有一个包含数字的字符串.仅在XPath中我只能获得数字吗?
例如:myString ="abcd12ef34gh567",结果:1234567
此命令具有空输出.
su user -c "ABC=abc;echo $ABC"
Run Code Online (Sandbox Code Playgroud)
任何想法,如何在输入命令中定义变量?
我正在编写一个调用很多其他脚本的bash脚本.
必须以user_1执行多个脚本,而将多个脚本作为user_2执行.
应严格按顺序调用脚本.我以user_1开始我的脚本并使用su多次成为user_2.这些时间su需要密码,因此我必须多次重新输入密码.我想避免这种情况,但su没有密码参数.
没有安装sudo和expect.
我想使用read命令初始化一个变量,该变量的值来自前一个命令的输出.我希望这有效:
echo some_text | read VAR
Run Code Online (Sandbox Code Playgroud)
但$ VAR是空的."read从标准输入读取一行." 该联机帮助页说.管道将echo的输出发送到read的输入.我哪里错了?
我的工作解决方案是
echo text > file ; read VAR < file
Run Code Online (Sandbox Code Playgroud)
但是它使用了一个文件......