sh 相关问题

sh是自版本7 Unix以来的标准Unix shell。 POSIX具有基于Bourne Shell的标准化shell行为,并且可移植shell脚本应符合标准化语法。将此标记用于适用于Bourne / POSIX样式shell的问题。对于有错误的shell脚本,请在发布此处之前在http://shellcheck.net中查看它们。

将简单的powershell脚本转换为Linux脚本

在我们的构建服务器上,我将构建号添加到 AssemblyInfo.cs 文件中。该脚本在 AssemblyInfo.cs 文件中查找当前版本,然后附加内部版本号,然后覆盖 ve...

回答 1 投票 0

Linux shell:从读取另一个文件的文件中删除行

让我们考虑 2 个文本文件,一个“main_list”和一个“ignore_list”。 对于ignore_list中的每一行,我想删除main_line中以该字符串开头的行。 基本上是可行的...

回答 1 投票 0

如何在 Alpine 上运行下载的可执行文件?

我的脚本非常基础并且可以在 Debian 上运行: apt update && apt install wget -y cd /根目录 wget https://aka.ms/dotnet-counters/linux-x64 -O dotnet-counters chmod a+x 点网计数器 ./dotnet-

回答 1 投票 0

如何使用脚本在 Xcode 11 中读取当前应用程序版本

直到 Xcode 11,我使用了一个脚本来读取当前应用程序版本(针对 AppStore)并帮助我更改 LaunchScreen,因为我们无法使用 swift 来实现这一点。 sourceFilePath="$PROJECT_DIR/$PROJECT_N...

回答 12 投票 0

Codefresh 中 for 循环中的 Shell 命令语法错误

我有以下步骤来执行for循环。但是我遇到了 synatx 错误。 代码: 脚步: arti_lib_deploy: 阶段:构建镜像 类型:自由泳 标题:“将库部署到 Artifact...

回答 1 投票 0

如何cat <<EOF >>包含代码的文件?

我想使用 cat <> 将代码打印到文件中: 猫 <> Brightup.sh !/bin/bash curr=`cat /sys/class/backlight/intel_backlight/actual_brightness` 如果 [ $curr -lt 44...

回答 7 投票 0

Java类Process:无法通过.sh执行第三方程序

我需要运行 .sh 脚本,我已经知道如何做到这一点,但我还有另一个问题。它看不到第三方(已安装)命令,因为在这种情况下它找不到 tesseract 命令,alt...

回答 1 投票 0

如何使用 shell 脚本替换特定单词之间的语句的一部分而不更改文件中语句的其余部分

例如,声明如下: 名叫约翰的学生有 23 个苹果。医生说,苹果对健康有益。 我想将 name 和 apples 之间的字符串替换为 Conor has 10 执行后...

回答 3 投票 0

/usr/local/bin 中的 Shell 脚本无法工作,除非在使用前在终端中明确获取来源

我在/usr/local/bin中有一个shell脚本 #!/bin/sh 提炼() { 如果[-z“$1”];然后 # 如果没有给出参数则显示用法 echo "用法:提取. 我在 /usr/local/bin 中有一个 shell 脚本 #!/bin/sh extract() { if [ -z "$1" ]; then # display usage if no parameters given echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>" elif [ -f "$1" ]; then case $1 in *.tar.bz2) tar xvjf "$1" ;; *.tar.gz) tar xvzf "$1" ;; *.tar.xz) tar xvJf "$1" ;; *.lzma) unlzma "$1" ;; *.bz2) bunzip2 "$1" ;; *.rar) unrar x "$1" ;; *.gz) gunzip "$1" ;; *.tar) tar xvf "$1" ;; *.tbz2) tar xvjf "$1" ;; *.tgz) tar xvzf "$1" ;; *.zip) unzip "$1" ;; *.Z) uncompress "$1" ;; *.7z) 7z x "$1" ;; *.xz) unxz "$1" ;; *.exe) cabextract "$1" ;; *) echo "extract: '$1' - unknown archive method" ;; esac echo "extraction successful: $1" else echo "$1 - file does not exist" fi } 但是,除非我在当前终端中执行source /usr/local/bin/extract,否则它无法正常运行。我知道 /usr/local/bin 在我的路径中。 我尝试将脚本的所有者更改为 root:root 以查看是否有影响。文件权限为 755。我尝试在 .zshenv 中再次获取 /usr/local/bin 的源代码,但无论如何它已经在 $PATH 中了。我可以让它工作的唯一方法是直接使用 source /usr/local/bin/extract 。我尝试过在进行这样的各种更改后重新启动。我在 shellcheck 中检查了文件中的 bashisms。我尝试了不同的 shebangs,#!/usr/bin/env bash 和 #!/bin/sh。我的 /bin/sh 链接到 dash。 我希望 /usr/local/bin 中的任何脚本或二进制文件都可以工作,而无需为每个终端会话获取它。 发布此内容后不久我就意识到了这个问题。所有代码都在函数内部,并且从未被调用。当我获取文件时它起作用了,因为该函数进入了我当前 shell 的本地范围。我删除了函数包装器并将其作为原始代码放入 shell 脚本中,例如 if [ -z "$1" ]; then # display usage if no parameters given echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>" elif [ -f "$1" ]; then case $1 in *.tar.bz2) tar xvjf "$1" ;; *.tar.gz) tar xvzf "$1" ;; *.tar.xz) tar xvJf "$1" ;; *.lzma) unlzma "$1" ;; *.bz2) bunzip2 "$1" ;; *.rar) unrar x "$1" ;; *.gz) gunzip "$1" ;; *.tar) tar xvf "$1" ;; *.tbz2) tar xvjf "$1" ;; *.tgz) tar xvzf "$1" ;; *.zip) unzip "$1" ;; *.Z) uncompress "$1" ;; *.7z) 7z x "$1" ;; *.xz) unxz "$1" ;; *.exe) cabextract "$1" ;; *) echo "extract: '$1' - unknown archive method" ;; esac echo "extraction successful: $1" else echo "$1 - file does not exist" fi 现在效果很好。我想知道是否有办法保持这个功能?我想我会测试一下是否可以在脚本末尾调用 extract() 。

回答 1 投票 0

在 bash 脚本中循环遍历文件名带有数字的目录

晚上好, 我必须对包含具有以下方案的文件的目录执行循环: P1_1.fq.gz、P1_2.fq.gz P2_1.fq.gz、P2_2.fq.gz ... P10_1.fq.gz、P10_2.fq.gz 目的是

回答 4 投票 0

如何格式化linux中uniq -c函数得到的数据?

假设我在名为 temp_data.txt 的文本文件中有如下数据: “约翰”,“001-01-0001”,“工程” “史密斯”,“192-11-0292”,“人力资源......

回答 0 投票 0

如何编写一个运行 docker 镜像的 shell 脚本,该镜像在其中运行另一个 shell 脚本

我需要编写一个 sh 脚本来运行 docker 容器,然后从容器本身执行一些命令。这是一个非常简单的例子: #!/bin/bash cd 一些目录 码头运行

回答 0 投票 0

如何将文件名从 PREFIX_00000000.png 批量转换为 PREFIX_HH:mm:ss.ffff.png

我有大量的png文件,它们的命名方式如下:PREFIX_00000000.png 其中 PREFIX_ 是一个固定的字符串,后面跟着八个数字(可能更多)。这些数字代表

回答 2 投票 0

列出文件夹内的文件,除非是绝对路径

我想编写一个脚本来列出文件夹中的所有文件。 我的尝试: #!/bin/庆典 如果 !测试-d "$1" ;然后 回声`密码` / $ 1 别的 裁谈会“$1” 对于 f 在 * 中;做 “$0&...

回答 4 投票 0

是否可以迭代循环头中声明的数组

是否可以像下面的 POC 一样迭代声明的数组?还是您本质上需要事先创建一个变量,然后使用 [@] 来扩展数组。 参考...

回答 2 投票 0

docker run 命令出现“执行格式错误”

我有这个基于 Golang 的 Dockerfile: 来自 golang:最新 运行 mkdir -p /应用程序 工作目录/应用程序 复制 bin/huru 。 命令./huru 我检查了一下,huru 二进制文件在工作目录中。我收到此错误: ...

回答 3 投票 0

如何避免在 zsh for-loop 中使用空格作为分隔符?

我正在尝试制作一个小脚本来转换音乐库中的一些文件。 但如果我做类似的事情: #!/usr/bin/zsh 对于...

回答 3 投票 0

POSIX shell 中 bash 的“read -t”的替代方案

我目前正在做一个大学项目,我必须做几个 shell 脚本文件。在其中一个中,我必须创建一个名为 taunt.sh 的文件,该文件使用命令 cowsay 来打印一些消息

回答 1 投票 0

POSIX shell 中 read -t 10 的替代方法

我目前正在做一个大学项目,我必须做几个 shell 脚本文件。在其中一个中,我必须创建一个名为 taunt.sh 的文件,该文件使用命令 cowsay 来打印一些消息

回答 1 投票 0

结合 grep 和 sed 从文本文件中提取数据行

我必须从文本文件中提取数据,但提供的文件格式不正确。我找到了一种获取数据行并在值之间放置分隔符的方法,但是我的数据量很小

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.