所以,我对脚本编写很陌生,我正在尝试弄清楚它的作用。你能帮我吗?
if [ "@$1@" = "@@" ]; then
strDate ='date +%Y%m%d'
else
strDate=$1
fi
Run Code Online (Sandbox Code Playgroud) 当我使用时:
date > /dev/tty3
Run Code Online (Sandbox Code Playgroud)
输出被传送到第一个 cli 终端。
但我的问题是为什么终端不要求输入密码。我们使用终端进行输出,命令被传递到终端,那么如何在不询问密码的情况下向我们显示输出。
我正面临上述问题之一。
只能反过来ssh user@ip工作。我在运行时收到以下错误ssh ip root
sh: root: not found
Run Code Online (Sandbox Code Playgroud)
因此,我猜测使用有问题语法的应用程序之一无法登录。
为什么| more有些程序在 bash 中运行时不起作用?
我得到了这种行为leiningen,不是真正的命令,而是一个程序。我认为确实发生在将输出发送到 stderr 的情况下。我会确认的。
find . -name "*.mov" -exec bash -c 'ffmpeg -i "{}" -c:v libx264 -crf 20 -pix_fmt yuv420p "${0/.mov}.mp4"' {} \;
Run Code Online (Sandbox Code Playgroud)
当我手动运行它时,上面的命令可以完美运行,但我无法将它放在.bashrc文件中的函数中。接收unexpected end of line错误。
function fff { find . -name "*.mov" -exec bash -c 'ffmpeg -i "{}" -c:v libx264 -crf 20 -pix_fmt yuv420p "${0/.mov}.mp4"' {} \; }
Run Code Online (Sandbox Code Playgroud) 我有以下 awk 代码,它创建数组kaggr,然后将值存储在knam和中knum。印象中循环不应该从 开始1,而是从 开始0,但for ( i=1; i<n; i+=2 )似乎有效。awk 数组应该从索引开始0,那么从索引开始时一切正常吗1?
awk 'BEGIN { kl=0
"tput sgr0" |& getline rst
ks = "Wht 15 Grn 34 Blu 39 Ylw 11 Red 196 Amb 214"
n = split(ks, kaggr)
for ( i=1; i<n; i+=2 ) {
knam = kaggr[i] ":"
knum = kaggr[i+1]
}
}
Run Code Online (Sandbox Code Playgroud) 有人可以用一个例子告诉我每一行的含义是什么,我不明白为什么使用正则表达式,甚至 [!0122...]
#!/bin/sh
is_integer ()
{
case "${1#[+-]}" in
(*[!0123456789]*) return 1 ;;
('') return 1 ;;
(*) return 0 ;;
esac
}
Run Code Online (Sandbox Code Playgroud) printf "%50s\n" " I ate 4 eggs"
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我想从一个变量中分配 50。以及如何在 bash 的 for 循环中使用变量?
任何的想法?