我正在使用卸载程序脚本删除安装脚本的父文件夹.
/usr/local/Myapplication/Uninstaller/uninstall.sh
Run Code Online (Sandbox Code Playgroud)
所以uninstall.sh必须这样做:
rm- rf /usr/local/Myapplication
Run Code Online (Sandbox Code Playgroud)
我可以检索卸载所在的文件夹
SYMLINKS=$(readlink -f "$0")
UNINSTALL_PATH=$(dirname "$SYMLINKS")
Run Code Online (Sandbox Code Playgroud)
但我仍然不确定获得父路径的漂亮方式.我想过使用sed去除这条路径的"Uninstaller"部分,但是有一种优雅的方法来获取Myapplication文件夹的路径来删除它吗?
谢谢
我想获得在从python调用的shell脚本中设置的退出状态.代码如下
python脚本.
result = os.system("./compile_cmd.sh")
print result
Run Code Online (Sandbox Code Playgroud)
(compile_cmd.sh)
javac @source.txt
#i do some code here to get the no of compilation errors
if [$error1 -e 0 ]
then
echo "\n********** JAVA compilation sucessfull **********"
exit 0
else
echo "\n** JAVA Compilation Error in file ** File not checked in to CVS **"
exit 1
fi
Run Code Online (Sandbox Code Playgroud)
我正在运行此代码.但无论我返回什么退出状态,我得到的结果var为0(我认为它返回shell脚本是否成功运行)我知道如何获取我在shell脚本中设置的退出状态python脚本??
我的代码
echo $ls | /var/lib/judgem/records/
Run Code Online (Sandbox Code Playgroud)
我正在尝试让脚本向我显示文件夹"记录"中的所有文件
我怎么做?
鉴于下表
123456.451 entered-auto_attendant
123456.451 duration:76 real:76
139651.526 entered-auto_attendant
139651.526 duration:62 real:62`
139382.537 entered-auto_attendant
Run Code Online (Sandbox Code Playgroud)
使用基于Linux的bash shell脚本,我想根据第1列的值(具有长号的那个)删除所有行.考虑到这个数字是一个可变数字
我试过了
awk '{a[$3]++}!(a[$3]-1)' file
sort -u | uniq
Run Code Online (Sandbox Code Playgroud)
但是我没有得到类似这样的结果,在第一列的所有值之间进行比较,删除所有重复项并显示它
123456.451 entered-auto_attendant
139651.526 entered-auto_attendant
139382.537 entered-auto_attendant
Run Code Online (Sandbox Code Playgroud) 我使用curl命令以JSON格式获得REST输出,如下所示
使用以下方法获取KEY名称:
curl http://test.te:8080/testApp/app/version | jq '.version' | jq '. | keys'
Run Code Online (Sandbox Code Playgroud)
OUTPUT:
"Archiver-Version",
"Build-Id",
"Build-Jdk",
"Build-Number",
"Build-Tag",
"Built-By"
Run Code Online (Sandbox Code Playgroud)
单独使用VALUES:
curl http://test.te.com:8080/testApp/app/version | jq '.version' | jq '.[]'
Run Code Online (Sandbox Code Playgroud)
OUTPUT(注意值的顺序与键名的顺序不对应;例如,第一个值"user@test.com",是键的值"Built-By",而不是如我所料,第一个键,"Archiver-Version"):
"user@test.com"
"1634d38"
"sandbox"
"02-03-2014-13:41"
"testApp"
Run Code Online (Sandbox Code Playgroud)
我试图将KEYS和VALUES分配给单独的数组,以便我可以迭代它们并以表格格式显示它们.
但是这两个命令以不同的方式排序,我无法直接分配值和键.
有没有改变KEYS和VALUES的排序,以便两者相同?
我无法获得完全相同对象的多个元素的当前元素的索引:
$b = "A","D","B","D","C","E","D","F"
$b | ? { $_ -contains "D" }
Run Code Online (Sandbox Code Playgroud)
替代版本:
$b = "A","D","B","D","C","E","D","F"
[Array]::FindAll($b, [Predicate[String]]{ $args[0] -contains "D" })
Run Code Online (Sandbox Code Playgroud)
这将返回:D D D.
但是这段代码:
$b | % { $b.IndexOf("D") }
Run Code Online (Sandbox Code Playgroud)
替代版本:
[Array]::FindAll($b, [Predicate[String]]{ $args[0] -contains "D" }) | % { $b.IndexOf($_) }
Run Code Online (Sandbox Code Playgroud)
返回:
1 1 1
所以它指向第一个元素的索引.如何获取其他元素的索引?
我为所有用户保存文件的共享网络位置.所有用户都可以完全访问此位置.
是否可以通过Powershell或任何其他方式找出WHO对文件或文件夹的最后更改?
从Powershell获取所有这些日期和所有者信息是没有问题的,但看起来没有办法找出世卫组织做出的最后修改.
有什么想法吗?
我可以做数学
perl -e 'print 5253413/39151' -l
Run Code Online (Sandbox Code Playgroud)
但是我不太了解如何利用Perl使用我自己的预定义bash变量进行数学运算的能力.我试过了
var1=$(some wc command that yields a number); var1=$(some wc that yields another number)
perl -e 'print var1/var2' -l
Run Code Online (Sandbox Code Playgroud)
但它不起作用
我在SuperUser上遇到了以下批处理代码,其目的是以编程方式替换文件夹的图标.
CD "%userprofile%\desktop"
MKDIR "TEST FOLDER"
ATTRIB +s "TEST FOLDER"
CD "TEST FOLDER"
COPY /Y "%userprofile%\desktop\image.ico" "./image.ico"
ECHO [.ShellClassInfo] >> desktop.txt
ECHO ConfirmFileOp=0 >> desktop.txt
ECHO NoSharing=1 >> desktop.txt
ECHO IconFile=image.ico >> desktop.txt
ECHO IconIndex=0 >> desktop.txt
ECHO InfoTip= >> desktop.txt
CHCP 1252 >NUL
CMD.EXE /D /A /C (SET/P=ÿþ)<NUL > desktop.ini 2>NUL
CMD.EXE /D /U /C TYPE desktop.txt >> desktop.ini
DEL /F /Q desktop.txt
ATTRIB +S +H desktop.ini image.ico
Run Code Online (Sandbox Code Playgroud)
我很容易得到脚本的其余部分,但我无法理解这三行:
CHCP 1252 >NUL
CMD.EXE /D /A /C (SET/P=ÿþ)<NUL > desktop.ini …Run Code Online (Sandbox Code Playgroud) 我试图在文件夹中的所有文件中提取以"%%"开头的每一行,然后将这些行复制到单独的文本文件中.目前在PowerShell代码中使用此代码,但我没有得到任何结果.
$files = Get-ChildItem "folder" -Filter *.txt
foreach ($file in $files)
{
if ($_ -like "*%%*")
{
Set-Content "Output.txt"
}
}
Run Code Online (Sandbox Code Playgroud) shell ×5
unix ×4
bash ×3
powershell ×3
windows ×2
acl ×1
arrays ×1
awk ×1
batch-file ×1
cmd ×1
command-line ×1
delete-row ×1
enumeration ×1
filtering ×1
foreach ×1
indexing ×1
jq ×1
json ×1
linux ×1
perl ×1
python ×1