我编写了下面的脚本来查找给定目录中的 PDF 文件数。但是,它会显示目录中的所有文件:
#!bin/bash
message="."
message1="*.pdf"
ls -al $message $message1
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) 嗨,我正在 Unix 中创建一个带有函数的子 shell,但是当我执行一个函数时,它完成了这个过程。我想知道如何在不退出子外壳的情况下退出函数。
在我的 bash 脚本中我想验证字符串是否是磁盘
所以我做了下面的例子
if [[ $disk =~ sd{a..z} ]];then
echo "we found a disk - $disk
.
.
.
.
fi
Run Code Online (Sandbox Code Playgroud)
但实际上表达式不识别 $disk ( $disk 可以是例如 sda sdb sdc sdd 等)
例如
disk=sdb
[[ $disk =~ sd{a..z} ]] && echo "$disk is real disk"
Run Code Online (Sandbox Code Playgroud)
也不如
[[ $disk =~ 'sd{a..z}' ]]
Run Code Online (Sandbox Code Playgroud)
我哪里错了?
我正在尝试学习 Unix 并练习循环。有人可以解释为什么在遇到continue语句后输出被暂停吗?
之后输出暂停Count : 4,我用Ctrl+退出C。
代码:
COUNT=0
while [ $COUNT -lt 10 ]
do
if [ $COUNT = 5 ]
then
continue
fi
echo "Count : $COUNT"
((COUNT++))
done
echo "while loop finished"
exit 0
Run Code Online (Sandbox Code Playgroud) 我遇到过这样的代码:
function cursorBack() {
echo -en "\033[$1D"
}
...
tput civis
...
cursorBack 1
Run Code Online (Sandbox Code Playgroud)
号码有什么作用?
sfdx 差异 | 三通结果.json ;
在这里,我得到 json 格式的结果/响应,并将其添加到 result.json 文件中。下面是我得到的 json
{
"status": 3,
"result": {
"source": {
"type": "folder",
"origin": "/source"
},
"target": {
"type": "folder",
"origin": "/target"
},
"difs": [
{
"type": "In Progress",
"entity": "Phone",
"result": "added"
},
{
"type": "Completed",
"entity": "SMS",
"result": "added"
},
{
"type": "Scheduled",
"entity": "Web",
"result": "added"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
我们有什么办法可以做到这一点。请帮忙,因为我对 shell 脚本很陌生
我只是学习 shell,我使用 vscode 和 shell-check 来检查 systax。这是我正在做的一个例子:我想检查某个文本文件中存在的字符串
#!/usr/bin/bash
Echo "Enter user"
if [ $grep -q binhqq "text.txt"] ; then
echo "Found"
fi
Run Code Online (Sandbox Code Playgroud)
但是他们警告我Don't wrap commands in []/[[]]),为什么我有那个警告,非常感谢你
我不确定下面的脚本出了什么问题,即使我删除了空格,但我仍然遇到错误“[:参数太多”
oldPlugin="/old/plugins/"
cd "$oldPlugin" || true
for FILE in *; do
if [ "$FILE" == "csharp-plugin"* ] || [ "$FILE" == "flex-plugin"* ] || [ "$FILE" == "go-plugin"* ] || [ "$FILE" == "html-plugin"* ] || [ "$FILE" == "iac-plugin"* ] || [ "$FILE" == "jacoco-plugin"* ] || [ "$FILE" == "java-plugin"* ] || [ "$FILE" == "javascript-plugin"* ] || [ "$FILE" == "kotlin-plugin"* ] || [ "$FILE" == "php-plugin"* ] || [ "$FILE" == "python-plugin"* ] || [ "$FILE" …Run Code Online (Sandbox Code Playgroud) 下面的 test.sh 在 Windows 命令提示符下运行,按预期工作。但是当在 devcontainer 内运行时它失败了
files=(
"first"
"second"
)
for i in "${files[@]}"
do
echo $i
done
Run Code Online (Sandbox Code Playgroud)
在 devcontainer 中运行时出错
test.sh:1:语法错误:“(”意外
请指导我如何解决此错误