我有一个shell脚本,可以在这样的文件夹中打印appimage文件名
#! /bin/bash
Dir="$HOME/Applications/"
Dir2="$HOME/Downloads/"
cd -P "$Dir"
for f in *.AppImage; do
z=$(echo $f | head -n1 | awk '{print $1;}')
echo $z
done
现在输出如下:
Altus-4.8.5-x86_64.AppImage
GitHubDesktop-linux-3.2.0-linux1.Ap
这是保存在文件中的前缀
wolf@linux:~$ cat prefix.txt
A.
B.
C.
wolf@linux:~$
我想将它与另一个输入(以版本格式)合并。
这是示例输入AB_CD_EF,但是它是水平格式的。
因此,我使用tr将其改为垂直格式。
wolf@linux:~$ echo AB_CD_EF | tr _ '\n'
AB
CD
EF
wolf@linux:~$
如何合并这两个输出以生成:
A. AB
B. CD
C. EF
我一直在考虑使用paste,但是它不适用于stdin。
wolf@linux:~$ paste $(echo AB_CD_E
我想用shell脚本打印一个文件夹的结构。所以它看起来就像这样
File : linux -3.14/COPYING
File : linux -3.14/CREDITS
Directory : linux -3.14/Documentation
File : linux -3.14/Documentation/00 - INDEX
Directory : linux -3.14/Documentation/ABI
File : linux -3.14/Documentation/ABI/README
这是我的脚本。问题是它会打印出当前目录的所有
这些是我的样本文件
user@linux:~$ ls -l | cut -d ' ' -f 10-
01. old Name.txt
02. old Name.txt
03. old Name.txt
test.txt
user@linux:~$
这就是我想做的。
user@linux:~$ for output in *'old Name'*; do echo $output; done
01. old Name.txt
02. old Name.txt
03. old Name.txt
user@linux:~$
因为实际的代码多次使用old Name
我是Linux新手。我正在尝试创建一个脚本来打印某些内容并启动一个关机命令。这是我的剧本:
#!/bin/bash
echo Hello WOOOOORRRRRLLLLDDDDDDD
echo sudo poweroff
每次我试图运行我的脚本,使用
chmod +x Hello World BASH
或者。/你好,世界巴什
但是,我收到以下错误消息:
chmod: cannot access 'Hello': No such file or directory
chmod: cannot access 'World': No such file o
我有var.sh
name="John"
age="29"
我还有main.sh
eval "var.sh"
echo "My name is $name"
当我跑的时候,我一直在
⚡️ Desktop bash main.sh
main.sh: line 1: var.sh: command not found
My name is
将本地bash文件导入另一个bash文件的最佳实践是什么?
有办法在Mac、Linux和Windows上工作吗?
我如何才能完成脚本?
Linux版本3.10.0-957.21.3.el7.x86_64。(Red Hat 4.8.5-36)
#!/bin/bash
echo "Enter the file name"
read x
if [ -f $x ]
then
echo "This is a regular file"
else
echo "This is a directory"
fi
需要修改脚本,该脚本将输出/etc/目录中的所有文件和目录,并指明哪个是什么(例如:
dir1 is a directory
fileA is a f
我有一个简单的脚本如下。
names=("windows" "ubuntu" "raspbian" "debian" "kali linux")
echo "names array length: ${#names[@]}"
for n in ${names[@]}; do
echo $n
done
我的意图和希望是:
names array length: 5
windows
ubuntu
raspbian
debian
kali linux
但结果却是:
names array len
# ldd /usr/bin/ffmpeg
linux-vdso.so.1 => (0x00007ffffc1fe000)
libavfilter.so.0 => not found
libpostproc.so.51 => not found
libswscale.so.0 => not found
libavdevice.so.52 => not found
libavformat.so.52 => not found
libavcodec.so.52 => not found
li
我尝试在NPM_TOKEN选项卡/ Process variables上为VSTS设置一个环境变量(环境变量),但是看起来构建过程工具(NPM)没有识别它。
我还尝试运行一个命令行任务echo $NPM_TOKEN,它也失败了:
Failed which: Not found echo $NPM_TOKEN: null
我尝试使用Hosted代理和Hosted Linux (Preview)代理。
这是一个简单的脚本,从一些实际有用的东西中提取出来,可以在fedora上运行,但不能在OS X Lion上运行。
declare -a directory_contents=($(ls .))
test -e ${directory_contents[0]}
echo $?
在linux上,它返回0,即测试-e通过。在Mac上,它返回1。
你知道这里会出什么问题吗?
我刚接触过stuck脚本和Linux,现在我被困住了。我将编写一个简单的程序,允许我搜索我想要的安迪文件扩展名,然后显示其中有多少。
我一直在网上搜索,读我的书,但我就是搞不懂。
到目前为止,我得到的是:
#!/bin/bash
#Program to search for how many of specific file extension there is in this directory.
echo "Write the file extension you want to search for:"
read n
for n in `ls *.txt` ; d
下面的代码将导致'if‘语句提前退出,而不是在'if’块中执行'echo‘命令。我想知道为什么这只发生在'if‘块,而不是在脚本的主要部分。注意:我理解将':=‘改为’:‘将解决问题--我并不想修复这个问题,我希望了解'if’块的执行环境之间的区别,它首先导致了问题的发生。
#!/bin/bash
if true; then
VAR=${$1:='val'}
echo "This does not run"
fi
VAR=${$1:='val'}
echo
我正在编写一个简短的脚本,在NAS上搜索大量文件夹,查找这个奇怪的字符并删除该字符。我在运行Linux的Synology上。这就是我到目前为止所拥有的。
#!/bin/bash
for file in "$(find "/volume1/PLNAS/" -depth -type d -name '**')";
do
echo "$file";
mv "$file" "$(echo $file | sed s/// )";
done
当前的问题是内核似乎没有单独传递每个MV命令。我收到
我在一个目录中有一堆图像(100+),它们都有不同的名称。有没有办法重命名它们,可能是通过脚本(我正在运行Windows),重命名为0.jpg,1.jpg,2.jpg,等等……而不需要逐个重命名?我可以启动一个Linux虚拟机,如果在Windows中不可能的话,我可以将它们复制过来。
到目前为止,我已经得到了这个
@echo off
setlocal enableDelayedExpansion
set MYDIR=F:\Pictures\Wallpapers
set /a count = 0
for /F %%x in ('dir /B/D %MYDIR%') do (
我想在批处理文件中嵌套一个for循环来删除回车。我试过了,就像你在下面看到的那样,但它不起作用。
@echo off
setLocal EnableDelayedExpansion
for /f "tokens=* delims= " %%a in (Listfile.txt) do (
set /a N+=1
set v!N!=%%a
)
for /l %%i in (1, 1, %N%) do (
echo !v%%i!
for /r "tokens=* delims=" %%i in (windows.cpp) do (
我的环境: Linux,Bash3.5
我已经创建了一个bash脚本来使用下面的脚本列出子目录中的所有文件。
#!/bin/bash
for i in $( find . -maxdepth 1 -mindepth 1 -type d ); do
b=$(echo $i | awk '{print substr($1,3); }' )
find $i -type f > $i/$b.txt
done
我想将sha1sum添加到我的脚本中,我已经编辑了它,如下所示。
#!/bin/bash
for i in $( find . -maxdepth 1 -mi
我是linux的新手。我正在尝试将文件从一个路径复制到另一个路径。我有一个文本文件,其中包含以下模式的所有文件名:
file-1.txt
file-2.pdf
file-3.ppt
....
我用以下代码创建了一个.sh文件:
#!/bin/bash
file=`cat filenames.txt`;
fromPath='/root/Backup/upload/';
toPath='/root/Desktop/custom/upload/';
for i in $file;
do
filePath=$fromPath$i
#echo $filePath
我想替换每个文件路径的部分,这些部分将由find linux命令找到。现附上我的方法如下:
find . -type f -name "*.txt" -exec echo {} | sed "s/f/u/g" {} \;
我希望将文件路径中的每个字母"f“替换为"u”。不幸的是,我得到了这个错误:
find: missing argument to `-exec'
sed: can't read {}: No such file or directory
sed: can't read ;: No such file or