这个想法是将它用作...命令中的管道。例如:假设有某种很长的路径必须一次又一次地重新输入,然后是管道和第二个程序,即
"directory1/directory2/direcotry3/file.dat | less -I "
Run Code Online (Sandbox Code Playgroud)
我希望将该部分存储在一个变量中,因此可以像这样使用它:
r="directory1/directory2/direcotry3 \| less -I -p "
$ cat path1/path2/$r <searchterm>
Run Code Online (Sandbox Code Playgroud)
相反,我得到
cat: invalid option -- I
Try `cat --help' for more information.
Run Code Online (Sandbox Code Playgroud)
...意味着管道显然没有工作。
有没有办法序列化shell变量?假设我有一个变量$VAR,并且我希望能够将它保存到文件或其他内容中,然后稍后再读回以获取相同的值?
有没有一种便携的方式来做到这一点?(我不这么认为)
有没有办法在 bash 或 zsh 中做到这一点?
我有一个应用程序,它以嵌入在单引号中的双引号作为输入属性。以这个正确的命令为例:
command -p 'cluster="cl1"'
Run Code Online (Sandbox Code Playgroud)
为了使其自动化,我创建了一个$CLUSTER用作变量的 bash 文件。我的命令应该如何?换句话说,我应该放什么来代替 cl1?
请注意,如果我修改了上面的命令,它将不被接受。例如:command -p "cluster=cl1"不被接受
这个脚本有什么问题?我试图定义 A1=1, B1=1, C1=1
LIST="A B C"
for x in $LIST
do
"$x"1=1
done
Run Code Online (Sandbox Code Playgroud)
结果是:
./x.: line 7: A1=1: command not found
./x.: line 7: B1=1: command not found
./x.: line 7: C1=1: command not found
Run Code Online (Sandbox Code Playgroud) 在我的项目中,我有以下代码段:
local output="$(bash "${1##*/}")"
echo "$?"
Run Code Online (Sandbox Code Playgroud)
这总是打印零,因为local,但是,删除local会导致$?变量正确运行:假设子shell 的退出代码。
我的问题是:如何在捕获退出值的同时保持这个变量本地化?
如果我运行此 bash 命令并为语句添加前缀,则该变量fruit应该存在,但仅在此命令的持续时间内:
$ fruit=apple echo $fruit
$
Run Code Online (Sandbox Code Playgroud)
结果是一个空行。为什么?
引用通配符对此问题的评论:
参数扩展由shell完成,“fruit”变量不是shell变量;它只是“echo”命令环境中的一个环境变量
环境变量仍然是一个变量,所以这肯定对 echo 命令仍然可用吗?
有什么方法可以打印变量名称及其值吗?
j=jjj
k=kkk
l=lll
for i in j k l
do
....
done
Run Code Online (Sandbox Code Playgroud)
预期输出(每个变量在单独的行上):
j = jjj
k = kkk
l = lll
Run Code Online (Sandbox Code Playgroud)
任何人都可以提出一种获得上述结果的方法吗?
我使用 Bash 4.3.48(1) 并且.sh在 shebang 下有一个包含大约 20 个变量的文件。该文件仅包含变量。
这是模式:
x="1"
y="2"
...
Run Code Online (Sandbox Code Playgroud)
我需要以DRY方式导出所有这些变量:例如,一个export对所有变量,而不是说 20export对 20 个变量。
在该文件中执行此操作的最优雅方式(最短、最有效)是什么?
一个for循环?一个array?也许比这些更简单(某种集合糖语法)?
假设file存储一个非目录文件的路径名。
我怎样才能得到它的父目录?
为什么通过附加/..到其值的以下方式不起作用
$ cd $file/..
cd: ./Tools/build.bat/..: No such file or directory
Run Code Online (Sandbox Code Playgroud)
谢谢。
我正在寻找与此 JS 任务等效的内容:
FOO = FOO || "I must have been falsey!";
Run Code Online (Sandbox Code Playgroud)
谢谢!