我发现了如何确定数据是否是没有文件的有效tar文件的问题?,但我想知道:是否有现成的命令行解决方案?
我有一个文本文件test.txt,其中包含以下内容:
text1
text2
Run Code Online (Sandbox Code Playgroud)
我想将文件的内容分配给UNIX变量,但是当我这样做时:
testvar=$(cat test.txt)
echo $testvar
Run Code Online (Sandbox Code Playgroud)
结果是:
text1 text2
Run Code Online (Sandbox Code Playgroud)
代替
text1
text2
Run Code Online (Sandbox Code Playgroud)
有人可以建议我解决这个问题吗?
我有以下变量.
echo "|$COMMAND|"
Run Code Online (Sandbox Code Playgroud)
返回
|
REBOOT|
Run Code Online (Sandbox Code Playgroud)
如何删除第一个换行符?
如果我创建/root/bin/whoami.sh包含以下内容的脚本
#!/bin/bash
whoami
Run Code Online (Sandbox Code Playgroud)
并且这个脚本由具有正确配置的sudo的用户调用,它将指示
root
Run Code Online (Sandbox Code Playgroud)
有没有快速的方法来获取脚本中的实际用户,还是我必须求助于传递此用户名的参数?
我有一个程序从stdin获取输入,并从命令行获取一些参数.它看起来像这样:
Run Code Online (Sandbox Code Playgroud)cat input.txt > myprogram -path "/home/user/work"我尝试使用gcs在emacs中调试代码,通过Mx gdb,我尝试使用以下命令加载程序:
Run Code Online (Sandbox Code Playgroud)gdb cat input.txt > myprogram -path "/home/user/work"但是,gdb不喜欢它.
问题来自这里.不幸的是我不理解解决方案,并且不确定除了使用该-g选项进行编译并运行命令Mx gdb 之外还要做什么.
我在macOS X上使用Bash,我想创建一个简单的可执行脚本文件,当它运行时会改变到另一个目录.但是,该目录的路径中包含空格.你怎么做到这一点?这就是我所拥有的......
文件名称: cdcode
文件内容:
cd ~/My Code
Run Code Online (Sandbox Code Playgroud)
现在被授予,这不是一个长路径名,但我的实际路径名是深五个目录,其中四个目录在路径中有空格.
顺便说一句,我已经试过cd "~/My Code"与cd "~/My\ Code"和这些都不奏效.
我有大量的文件,如下所示:
DET01-ABC-5_50-001.dat
...
DET01-ABC-5_50-0025.dat
Run Code Online (Sandbox Code Playgroud)
我希望它们看起来像这样:
DET01-XYZ-5_50-001.dat
...
DET01-XYZ-5_50-0025.dat
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
请考虑以下代码段:
$ SOMEVAR=AAA
$ echo zzz $SOMEVAR zzz
zzz AAA zzz
Run Code Online (Sandbox Code Playgroud)
在这里,我设置$SOMEVAR到AAA第一线-当我赞同它的第二行,我得到的AAA内容符合市场预期.
但是,如果我尝试在同一命令行上指定变量echo:
$ SOMEVAR=BBB echo zzz $SOMEVAR zzz
zzz AAA zzz
Run Code Online (Sandbox Code Playgroud)
......我没有BBB按照我的预期得到 - 我得到旧值(AAA).
这是事情应该如何?如果是这样,那么为什么你可以指定变量LD_PRELOAD=/... program args ...并让它工作?我错过了什么?
我需要将脚本中的命令输出读入数组.该命令例如是:
ps aux | grep | grep | x
Run Code Online (Sandbox Code Playgroud)
并且它按行给出输出,如下所示:
10
20
30
Run Code Online (Sandbox Code Playgroud)
我需要将命令输出中的值读入数组,然后如果数组的大小小于3,我将做一些工作.
如何在bash脚本中设置全局环境变量?
如果我喜欢的话
#!/bin/bash
FOO=bar
Run Code Online (Sandbox Code Playgroud)
...要么
#!/bin/bash
export FOO=bar
Run Code Online (Sandbox Code Playgroud)
... vars似乎停留在本地环境中,而我希望在脚本执行完毕后继续使用它们.